budokai-msi commited on
Commit
d0916a3
·
verified ·
1 Parent(s): 16838eb

Of course. Here is a detailed and structured prompt designed to guide an AI in generating the complex front-end for your "ChordCraft" application.

Browse files

This prompt is structured to be fed into a UI generation platform like Vercel's v0. It describes the application's layout, components, features, and aesthetic in detail to maximize the quality of the generated code.
AI Prompt for ChordCraft UI
Create a sophisticated, modern, and highly interactive web application interface for ChordCraft, an AI-powered music production studio that translates music into editable code. The application should be built as a single-page application using React and styled with Tailwind CSS. All UI components should be based on shadcn/ui, ensuring a cohesive and professional aesthetic.
The overall theme is a dark, futuristic interface with a neon-gradient color scheme (vibrant cyan, magenta, and electric purple) for accents, interactive elements, highlights, and data visualizations.
The application layout is a three-panel design:
* Left Panel (Collapsible): Project Management & Asset Library
* Center Panel: Main Workspace (dynamic, toggles between Studio and Code Editor)
* Right Panel (Collapsible): AI Companion & Inspector
## 1. Header & Main Navigation
* Sticky Header: Contains the application logo (a stylized 'CC' with a neon glow), the current project title (editable on click), and a user profile section.
* Project Actions: A group of buttons on the right: Save Project (icon: Save), Export (Download), and a primary Share button.
* User Profile: An Avatar component with a dropdown Menubar for "Settings," "Billing," and "Logout."
## 2. Left Panel: Project Manager
* A resizable, collapsible sidebar using ResizablePanel.
* Project Browser: Use an Accordion component with three sections:
* "My Projects": A list of user projects. Each item shows the project name and last modified date. Clicking a project loads it into the main workspace. Includes a + New Project button.
* "Audio Assets": A file browser for uploaded audio files (WAV, MP3). Each file has a play icon button next to it for previewing.
* "AI Tools": A list of available AI models, e.g., "Stem Separator," "Harmonic Analyzer," "Rhythm Generator."
* File Upload: A prominent Dropzone area at the bottom of the panel for dragging and dropping audio files.
## 3. Center Panel: The Workspace
This is the core of the application, using a Tabs component to switch between two primary views: "Studio" and "Code Editor."
### Studio View (DAW Interface)
* Transport Controls: A fixed control bar at the top of this panel with Buttons for: Play, Pause, Stop, Record, Toggle Loop, and a display for the current playhead time.
* Timeline & Tracks:
* A multi-track horizontal timeline. The top ruler should show time markers (e.g., 0:00, 0:05, 0:10).
* Each track is a horizontal container with:
* Track Header (Left): Track name, a Mute button, a Solo button, a volume Slider, and a pan Slider.
* Track Lane (Right): A visual representation of the audio waveform. This should be a placeholder component that looks like a colorful, detailed waveform using the neon gradient.
* Users can drag audio clips onto these lanes from the Left Panel.
* Action Button: A large, vibrant, gradient-background Button with an icon (Wand2) that says "Analyze & Convert to Code."
### Code Editor View
* Monaco Editor Integration: The entire panel should be an instance of the Monaco code editor, pre-configured with a dark theme that matches the application's aesthetic.
* Generated Code Display: This view will display the AI-generated code representation of the music from the Studio view. The code should have syntax highlighting.
* Editor Toolbar: A toolbar above the editor with three key actions:
* Render Audio: A primary Button with a Play icon. This converts the current code back into an audio preview.
* Analyze Code: A secondary Button that sends the code to the AI Companion for analysis.
* Format: A Button to auto-format the code.
## 4. Right Panel: AI Companion & Inspector
* A resizable, collapsible sidebar that provides context-aware information.
* Uses a Tabs component to switch between "AI Companion" and "Inspector."
### AI Companion View
* This panel is for AI-driven feedback and analysis.
* Display analysis results in Card components. For example:
* A Card titled "Harmonic Analysis" displaying the song's Key, BPM, and a list of detected Chords using Badge components (e.g., Cm7, G#, A#).
* A Card titled "AI Suggestions" with actionable suggestions like "Try resolving this F#dim chord to a Gm" or "The rhythm in measure 4 is off-beat."
### Inspector View
* This panel displays properties for the currently selected item (e.g., an audio clip, a track, a line of code).
* When an audio clip is selected in the Studio: Show its filename, duration, sample rate, and controls for gain (Slider) and pitch shifting (Slider).
* When a track is selected: Show advanced options like assigning it to a mixer channel or adding placeholder effects (e.g., Reverb, EQ).
- Initial Deployment

Files changed (3) hide show
  1. README.md +6 -4
  2. index.html +548 -18
  3. prompts.txt +50 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Cc
3
- emoji: 🦀
4
- colorFrom: blue
5
  colorTo: purple
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: cc
3
+ emoji: 🐳
4
+ colorFrom: green
5
  colorTo: purple
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,549 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>ChordCraft - AI Music Production Studio</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script>
9
+ tailwind.config = {
10
+ theme: {
11
+ extend: {
12
+ colors: {
13
+ primary: '#00f0ff',
14
+ secondary: '#ff00f0',
15
+ accent: '#8a2be2',
16
+ dark: '#0a0a1a',
17
+ darker: '#050510',
18
+ },
19
+ fontFamily: {
20
+ sans: ['Inter', 'sans-serif'],
21
+ mono: ['Fira Code', 'monospace'],
22
+ },
23
+ }
24
+ }
25
+ }
26
+ </script>
27
+ <link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
28
+ <script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
29
+ <script src="https://unpkg.com/feather-icons"></script>
30
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
31
+ <style>
32
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Fira+Code:wght@400;500&display=swap');
33
+
34
+ body {
35
+ background-color: #050510;
36
+ color: #e0e0e0;
37
+ font-family: 'Inter', sans-serif;
38
+ }
39
+
40
+ .gradient-text {
41
+ background: linear-gradient(90deg, #00f0ff, #ff00f0);
42
+ -webkit-background-clip: text;
43
+ background-clip: text;
44
+ color: transparent;
45
+ }
46
+
47
+ .gradient-border {
48
+ position: relative;
49
+ border-radius: 0.5rem;
50
+ }
51
+
52
+ .gradient-border::before {
53
+ content: '';
54
+ position: absolute;
55
+ top: -1px;
56
+ left: -1px;
57
+ right: -1px;
58
+ bottom: -1px;
59
+ border-radius: 0.5rem;
60
+ background: linear-gradient(45deg, #00f0ff, #ff00f0, #8a2be2);
61
+ z-index: -1;
62
+ }
63
+
64
+ .waveform {
65
+ background: linear-gradient(90deg, rgba(0,240,255,0.1), rgba(138,43,226,0.3), rgba(255,0,240,0.1));
66
+ background-size: 200% 100%;
67
+ animation: waveformAnimation 3s infinite linear;
68
+ }
69
+
70
+ @keyframes waveformAnimation {
71
+ 0% { background-position: 0% 50%; }
72
+ 100% { background-position: 200% 50%; }
73
+ }
74
+
75
+ .neon-shadow {
76
+ box-shadow: 0 0 10px rgba(0, 240, 255, 0.5),
77
+ 0 0 20px rgba(255, 0, 240, 0.3);
78
+ }
79
+
80
+ .neon-shadow-hover:hover {
81
+ box-shadow: 0 0 15px rgba(0, 240, 255, 0.7),
82
+ 0 0 25px rgba(255, 0, 240, 0.5);
83
+ }
84
+
85
+ .scrollbar-custom::-webkit-scrollbar {
86
+ width: 6px;
87
+ height: 6px;
88
+ }
89
+
90
+ .scrollbar-custom::-webkit-scrollbar-track {
91
+ background: rgba(10, 10, 26, 0.5);
92
+ }
93
+
94
+ .scrollbar-custom::-webkit-scrollbar-thumb {
95
+ background: linear-gradient(#00f0ff, #ff00f0);
96
+ border-radius: 3px;
97
+ }
98
+ </style>
99
+ </head>
100
+ <body class="h-screen flex flex-col overflow-hidden">
101
+ <!-- Header -->
102
+ <header class="bg-darker border-b border-gray-800 px-4 py-3 flex items-center justify-between sticky top-0 z-50">
103
+ <div class="flex items-center space-x-4">
104
+ <div class="flex items-center">
105
+ <h1 class="text-2xl font-bold gradient-text">CC</h1>
106
+ <span class="ml-2 text-xl font-semibold">ChordCraft</span>
107
+ </div>
108
+ <div class="hidden md:block">
109
+ <div class="flex items-center space-x-2 bg-dark rounded-full px-4 py-1 cursor-pointer hover:bg-gray-800 transition">
110
+ <i data-feather="music" class="w-4 h-4 text-primary"></i>
111
+ <span class="text-sm">Untitled Project</span>
112
+ <i data-feather="edit-2" class="w-4 h-4 text-gray-400"></i>
113
+ </div>
114
+ </div>
115
+ </div>
116
+
117
+ <div class="flex items-center space-x-3">
118
+ <button class="hidden md:flex items-center space-x-1 bg-dark hover:bg-gray-800 px-3 py-1.5 rounded-md transition">
119
+ <i data-feather="save" class="w-4 h-4 text-gray-300"></i>
120
+ <span class="text-sm">Save</span>
121
+ </button>
122
+ <button class="hidden md:flex items-center space-x-1 bg-dark hover:bg-gray-800 px-3 py-1.5 rounded-md transition">
123
+ <i data-feather="download" class="w-4 h-4 text-gray-300"></i>
124
+ <span class="text-sm">Export</span>
125
+ </button>
126
+ <button class="flex items-center space-x-1 bg-gradient-to-r from-primary to-secondary text-darker font-medium px-4 py-1.5 rounded-md transition hover:opacity-90">
127
+ <i data-feather="share-2" class="w-4 h-4"></i>
128
+ <span class="text-sm">Share</span>
129
+ </button>
130
+
131
+ <div class="relative">
132
+ <div class="w-8 h-8 rounded-full bg-gradient-to-r from-primary to-secondary flex items-center justify-center cursor-pointer">
133
+ <i data-feather="user" class="w-4 h-4 text-darker"></i>
134
+ </div>
135
+ <div class="hidden absolute right-0 mt-2 w-48 bg-dark rounded-md shadow-lg py-1 z-50 border border-gray-800">
136
+ <a href="#" class="block px-4 py-2 text-sm hover:bg-gray-800">Settings</a>
137
+ <a href="#" class="block px-4 py-2 text-sm hover:bg-gray-800">Billing</a>
138
+ <a href="#" class="block px-4 py-2 text-sm hover:bg-gray-800">Logout</a>
139
+ </div>
140
+ </div>
141
+ </div>
142
+ </header>
143
+
144
+ <!-- Main Content -->
145
+ <div class="flex flex-1 overflow-hidden">
146
+ <!-- Left Panel - Project Manager -->
147
+ <aside class="w-64 bg-dark border-r border-gray-800 flex flex-col transition-all duration-300 ease-in-out" id="leftPanel">
148
+ <div class="p-4 border-b border-gray-800">
149
+ <h2 class="text-lg font-semibold flex items-center justify-between">
150
+ <span>Project Manager</span>
151
+ <button class="text-gray-400 hover:text-white" id="collapseLeft">
152
+ <i data-feather="chevron-left" class="w-5 h-5"></i>
153
+ </button>
154
+ </h2>
155
+ </div>
156
+
157
+ <div class="flex-1 overflow-y-auto scrollbar-custom p-4 space-y-4">
158
+ <!-- Projects Accordion -->
159
+ <div class="space-y-2">
160
+ <div class="flex items-center justify-between cursor-pointer">
161
+ <h3 class="font-medium text-gray-300">My Projects</h3>
162
+ <i data-feather="plus" class="w-4 h-4 text-gray-400"></i>
163
+ </div>
164
+ <div class="space-y-1 ml-2">
165
+ <div class="flex items-center justify-between p-2 rounded hover:bg-gray-800 cursor-pointer">
166
+ <span class="text-sm">Summer Vibes</span>
167
+ <span class="text-xs text-gray-400">2h ago</span>
168
+ </div>
169
+ <div class="flex items-center justify-between p-2 rounded hover:bg-gray-800 cursor-pointer">
170
+ <span class="text-sm">Dark Synth</span>
171
+ <span class="text-xs text-gray-400">1d ago</span>
172
+ </div>
173
+ <div class="flex items-center justify-between p-2 rounded hover:bg-gray-800 cursor-pointer">
174
+ <span class="text-sm">Jazz Improv</span>
175
+ <span class="text-xs text-gray-400">3d ago</span>
176
+ </div>
177
+ </div>
178
+ </div>
179
+
180
+ <!-- Audio Assets Accordion -->
181
+ <div class="space-y-2">
182
+ <div class="flex items-center justify-between cursor-pointer">
183
+ <h3 class="font-medium text-gray-300">Audio Assets</h3>
184
+ <i data-feather="chevron-down" class="w-4 h-4 text-gray-400"></i>
185
+ </div>
186
+ <div class="space-y-1 ml-2">
187
+ <div class="flex items-center justify-between p-2 rounded hover:bg-gray-800 cursor-pointer">
188
+ <span class="text-sm">Kick Drum.wav</span>
189
+ <button class="text-gray-400 hover:text-primary">
190
+ <i data-feather="play" class="w-4 h-4"></i>
191
+ </button>
192
+ </div>
193
+ <div class="flex items-center justify-between p-2 rounded hover:bg-gray-800 cursor-pointer">
194
+ <span class="text-sm">Synth Lead.mp3</span>
195
+ <button class="text-gray-400 hover:text-primary">
196
+ <i data-feather="play" class="w-4 h-4"></i>
197
+ </button>
198
+ </div>
199
+ <div class="flex items-center justify-between p-2 rounded hover:bg-gray-800 cursor-pointer">
200
+ <span class="text-sm">Bassline.wav</span>
201
+ <button class="text-gray-400 hover:text-primary">
202
+ <i data-feather="play" class="w-4 h-4"></i>
203
+ </button>
204
+ </div>
205
+ </div>
206
+ </div>
207
+
208
+ <!-- AI Tools Accordion -->
209
+ <div class="space-y-2">
210
+ <div class="flex items-center justify-between cursor-pointer">
211
+ <h3 class="font-medium text-gray-300">AI Tools</h3>
212
+ <i data-feather="chevron-down" class="w-4 h-4 text-gray-400"></i>
213
+ </div>
214
+ <div class="space-y-1 ml-2">
215
+ <div class="p-2 rounded hover:bg-gray-800 cursor-pointer">
216
+ <span class="text-sm">Stem Separator</span>
217
+ </div>
218
+ <div class="p-2 rounded hover:bg-gray-800 cursor-pointer">
219
+ <span class="text-sm">Harmonic Analyzer</span>
220
+ </div>
221
+ <div class="p-2 rounded hover:bg-gray-800 cursor-pointer">
222
+ <span class="text-sm">Rhythm Generator</span>
223
+ </div>
224
+ </div>
225
+ </div>
226
+ </div>
227
+
228
+ <!-- File Upload Area -->
229
+ <div class="p-4 border-t border-gray-800">
230
+ <div class="gradient-border p-4 rounded-md text-center cursor-pointer hover:bg-gray-800 transition">
231
+ <i data-feather="upload" class="w-6 h-6 mx-auto text-primary"></i>
232
+ <p class="text-sm mt-2">Drag & drop audio files here</p>
233
+ <p class="text-xs text-gray-400 mt-1">or click to browse</p>
234
+ </div>
235
+ </div>
236
+ </aside>
237
+
238
+ <!-- Center Panel - Workspace -->
239
+ <main class="flex-1 flex flex-col bg-darker overflow-hidden">
240
+ <!-- Workspace Tabs -->
241
+ <div class="flex border-b border-gray-800">
242
+ <button class="flex-1 py-3 text-center font-medium border-b-2 border-primary text-primary">
243
+ Studio
244
+ </button>
245
+ <button class="flex-1 py-3 text-center font-medium text-gray-400 hover:text-white">
246
+ Code Editor
247
+ </button>
248
+ </div>
249
+
250
+ <!-- Transport Controls -->
251
+ <div class="bg-dark px-4 py-2 flex items-center justify-between border-b border-gray-800">
252
+ <div class="flex items-center space-x-3">
253
+ <button class="w-8 h-8 rounded-full bg-primary text-darker flex items-center justify-center hover:bg-opacity-90">
254
+ <i data-feather="play" class="w-4 h-4"></i>
255
+ </button>
256
+ <button class="w-8 h-8 rounded-full bg-gray-700 text-gray-300 flex items-center justify-center hover:bg-gray-600">
257
+ <i data-feather="pause" class="w-4 h-4"></i>
258
+ </button>
259
+ <button class="w-8 h-8 rounded-full bg-gray-700 text-gray-300 flex items-center justify-center hover:bg-gray-600">
260
+ <i data-feather="square" class="w-4 h-4"></i>
261
+ </button>
262
+ <button class="w-8 h-8 rounded-full bg-gray-700 text-gray-300 flex items-center justify-center hover:bg-gray-600">
263
+ <i data-feather="circle" class="w-4 h-4"></i>
264
+ </button>
265
+ <button class="w-8 h-8 rounded-full bg-gray-700 text-gray-300 flex items-center justify-center hover:bg-gray-600">
266
+ <i data-feather="repeat" class="w-4 h-4"></i>
267
+ </button>
268
+ </div>
269
+
270
+ <div class="flex items-center space-x-4">
271
+ <div class="text-sm font-mono">0:00.000</div>
272
+ <button class="flex items-center space-x-1 bg-gradient-to-r from-primary to-secondary text-darker font-medium px-4 py-1 rounded-md transition hover:opacity-90 neon-shadow-hover">
273
+ <i data-feather="wand-2" class="w-4 h-4"></i>
274
+ <span>Analyze & Convert to Code</span>
275
+ </button>
276
+ </div>
277
+ </div>
278
+
279
+ <!-- Timeline -->
280
+ <div class="flex-1 overflow-auto scrollbar-custom">
281
+ <!-- Timeline Ruler -->
282
+ <div class="h-8 bg-dark sticky top-0 z-10 border-b border-gray-800 flex items-center px-4">
283
+ <div class="flex space-x-8">
284
+ <span class="text-xs text-gray-400">0:00</span>
285
+ <span class="text-xs text-gray-400">0:05</span>
286
+ <span class="text-xs text-gray-400">0:10</span>
287
+ <span class="text-xs text-gray-400">0:15</span>
288
+ </div>
289
+ </div>
290
+
291
+ <!-- Tracks -->
292
+ <div class="space-y-2 p-4">
293
+ <!-- Track 1 -->
294
+ <div class="flex h-16">
295
+ <div class="w-48 bg-dark rounded-l-md border border-gray-800 flex items-center px-3 space-x-2">
296
+ <button class="text-gray-400 hover:text-white">
297
+ <i data-feather="volume-2" class="w-4 h-4"></i>
298
+ </button>
299
+ <button class="text-gray-400 hover:text-yellow-400">
300
+ <i data-feather="star" class="w-4 h-4"></i>
301
+ </button>
302
+ <span class="text-sm truncate">Kick Drum</span>
303
+ <div class="ml-auto flex space-x-1">
304
+ <button class="text-gray-400 hover:text-red-500">
305
+ <i data-feather="mic-off" class="w-4 h-4"></i>
306
+ </button>
307
+ <button class="text-gray-400 hover:text-primary">
308
+ <i data-feather="headphones" class="w-4 h-4"></i>
309
+ </button>
310
+ </div>
311
+ </div>
312
+ <div class="flex-1 bg-dark border border-l-0 border-gray-800 rounded-r-md overflow-hidden relative">
313
+ <div class="waveform absolute inset-0 rounded-r-md"></div>
314
+ <div class="absolute left-20 w-32 h-full bg-gradient-to-r from-primary/20 to-transparent"></div>
315
+ </div>
316
+ </div>
317
+
318
+ <!-- Track 2 -->
319
+ <div class="flex h-16">
320
+ <div class="w-48 bg-dark rounded-l-md border border-gray-800 flex items-center px-3 space-x-2">
321
+ <button class="text-gray-400 hover:text-white">
322
+ <i data-feather="volume-2" class="w-4 h-4"></i>
323
+ </button>
324
+ <button class="text-gray-400 hover:text-yellow-400">
325
+ <i data-feather="star" class="w-4 h-4"></i>
326
+ </button>
327
+ <span class="text-sm truncate">Bassline</span>
328
+ <div class="ml-auto flex space-x-1">
329
+ <button class="text-gray-400 hover:text-red-500">
330
+ <i data-feather="mic-off" class="w-4 h-4"></i>
331
+ </button>
332
+ <button class="text-gray-400 hover:text-primary">
333
+ <i data-feather="headphones" class="w-4 h-4"></i>
334
+ </button>
335
+ </div>
336
+ </div>
337
+ <div class="flex-1 bg-dark border border-l-0 border-gray-800 rounded-r-md overflow-hidden relative">
338
+ <div class="waveform absolute inset-0 rounded-r-md"></div>
339
+ <div class="absolute left-40 w-48 h-full bg-gradient-to-r from-secondary/20 to-transparent"></div>
340
+ </div>
341
+ </div>
342
+
343
+ <!-- Track 3 -->
344
+ <div class="flex h-16">
345
+ <div class="w-48 bg-dark rounded-l-md border border-gray-800 flex items-center px-3 space-x-2">
346
+ <button class="text-gray-400 hover:text-white">
347
+ <i data-feather="volume-2" class="w-4 h-4"></i>
348
+ </button>
349
+ <button class="text-gray-400 hover:text-yellow-400">
350
+ <i data-feather="star" class="w-4 h-4"></i>
351
+ </button>
352
+ <span class="text-sm truncate">Synth Lead</span>
353
+ <div class="ml-auto flex space-x-1">
354
+ <button class="text-gray-400 hover:text-red-500">
355
+ <i data-feather="mic-off" class="w-4 h-4"></i>
356
+ </button>
357
+ <button class="text-gray-400 hover:text-primary">
358
+ <i data-feather="headphones" class="w-4 h-4"></i>
359
+ </button>
360
+ </div>
361
+ </div>
362
+ <div class="flex-1 bg-dark border border-l-0 border-gray-800 rounded-r-md overflow-hidden relative">
363
+ <div class="waveform absolute inset-0 rounded-r-md"></div>
364
+ <div class="absolute left-60 w-24 h-full bg-gradient-to-r from-accent/20 to-transparent"></div>
365
+ </div>
366
+ </div>
367
+
368
+ <!-- Track 4 (Empty) -->
369
+ <div class="flex h-16">
370
+ <div class="w-48 bg-dark rounded-l-md border border-gray-800 flex items-center px-3 space-x-2">
371
+ <button class="text-gray-400 hover:text-white">
372
+ <i data-feather="volume-2" class="w-4 h-4"></i>
373
+ </button>
374
+ <button class="text-gray-400 hover:text-yellow-400">
375
+ <i data-feather="star" class="w-4 h-4"></i>
376
+ </button>
377
+ <span class="text-sm text-gray-400 italic">Drag audio here</span>
378
+ </div>
379
+ <div class="flex-1 bg-dark border border-l-0 border-gray-800 rounded-r-md"></div>
380
+ </div>
381
+ </div>
382
+ </div>
383
+ </main>
384
+
385
+ <!-- Right Panel - AI Companion -->
386
+ <aside class="w-72 bg-dark border-l border-gray-800 flex flex-col transition-all duration-300 ease-in-out" id="rightPanel">
387
+ <div class="p-4 border-b border-gray-800">
388
+ <h2 class="text-lg font-semibold flex items-center justify-between">
389
+ <span>AI Companion</span>
390
+ <button class="text-gray-400 hover:text-white" id="collapseRight">
391
+ <i data-feather="chevron-right" class="w-5 h-5"></i>
392
+ </button>
393
+ </h2>
394
+ <div class="flex mt-2">
395
+ <button class="flex-1 py-1 text-center font-medium border-b-2 border-primary text-primary text-sm">
396
+ Analysis
397
+ </button>
398
+ <button class="flex-1 py-1 text-center font-medium text-gray-400 hover:text-white text-sm">
399
+ Inspector
400
+ </button>
401
+ </div>
402
+ </div>
403
+
404
+ <div class="flex-1 overflow-y-auto scrollbar-custom p-4 space-y-4">
405
+ <!-- Harmonic Analysis Card -->
406
+ <div class="gradient-border p-4 rounded-md">
407
+ <div class="flex items-center justify-between mb-3">
408
+ <h3 class="font-medium">Harmonic Analysis</h3>
409
+ <i data-feather="activity" class="w-5 h-5 text-primary"></i>
410
+ </div>
411
+ <div class="space-y-2">
412
+ <div class="flex items-center justify-between">
413
+ <span class="text-sm text-gray-300">Key</span>
414
+ <span class="text-sm font-mono">C minor</span>
415
+ </div>
416
+ <div class="flex items-center justify-between">
417
+ <span class="text-sm text-gray-300">BPM</span>
418
+ <span class="text-sm font-mono">128</span>
419
+ </div>
420
+ <div class="flex items-center justify-between">
421
+ <span class="text-sm text-gray-300">Time Signature</span>
422
+ <span class="text-sm font-mono">4/4</span>
423
+ </div>
424
+ <div class="mt-3">
425
+ <h4 class="text-xs text-gray-400 mb-1">Detected Chords</h4>
426
+ <div class="flex flex-wrap gap-1">
427
+ <span class="px-2 py-1 bg-gray-800 rounded text-xs">Cm7</span>
428
+ <span class="px-2 py-1 bg-gray-800 rounded text-xs">G#</span>
429
+ <span class="px-2 py-1 bg-gray-800 rounded text-xs">A#</span>
430
+ <span class="px-2 py-1 bg-gray-800 rounded text-xs">Fm</span>
431
+ <span class="px-2 py-1 bg-gray-800 rounded text-xs">D#7</span>
432
+ </div>
433
+ </div>
434
+ </div>
435
+ </div>
436
+
437
+ <!-- AI Suggestions Card -->
438
+ <div class="gradient-border p-4 rounded-md">
439
+ <div class="flex items-center justify-between mb-3">
440
+ <h3 class="font-medium">AI Suggestions</h3>
441
+ <i data-feather="zap" class="w-5 h-5 text-secondary"></i>
442
+ </div>
443
+ <div class="space-y-3">
444
+ <div class="flex items-start">
445
+ <div class="w-2 h-2 rounded-full bg-primary mt-1 mr-2"></div>
446
+ <p class="text-sm">Try resolving this F#dim chord to a Gm for smoother harmonic transition.</p>
447
+ </div>
448
+ <div class="flex items-start">
449
+ <div class="w-2 h-2 rounded-full bg-primary mt-1 mr-2"></div>
450
+ <p class="text-sm">The rhythm in measure 4 is slightly off-beat. Consider quantizing to 16th notes.</p>
451
+ </div>
452
+ <div class="flex items-start">
453
+ <div class="w-2 h-2 rounded-full bg-primary mt-1 mr-2"></div>
454
+ <p class="text-sm">Adding a high-pass filter to the bassline around 100Hz could reduce muddiness.</p>
455
+ </div>
456
+ </div>
457
+ </div>
458
+
459
+ <!-- Stem Separation Card -->
460
+ <div class="gradient-border p-4 rounded-md">
461
+ <div class="flex items-center justify-between mb-3">
462
+ <h3 class="font-medium">Stem Separation</h3>
463
+ <i data-feather="layers" class="w-5 h-5 text-accent"></i>
464
+ </div>
465
+ <div class="space-y-2">
466
+ <div class="flex items-center justify-between">
467
+ <span class="text-sm text-gray-300">Vocals</span>
468
+ <div class="w-24 bg-gray-800 rounded-full h-1.5">
469
+ <div class="bg-primary h-1.5 rounded-full" style="width: 92%"></div>
470
+ </div>
471
+ </div>
472
+ <div class="flex items-center justify-between">
473
+ <span class="text-sm text-gray-300">Drums</span>
474
+ <div class="w-24 bg-gray-800 rounded-full h-1.5">
475
+ <div class="bg-primary h-1.5 rounded-full" style="width: 88%"></div>
476
+ </div>
477
+ </div>
478
+ <div class="flex items-center justify-between">
479
+ <span class="text-sm text-gray-300">Bass</span>
480
+ <div class="w-24 bg-gray-800 rounded-full h-1.5">
481
+ <div class="bg-primary h-1.5 rounded-full" style="width: 85%"></div>
482
+ </div>
483
+ </div>
484
+ <div class="flex items-center justify-between">
485
+ <span class="text-sm text-gray-300">Other</span>
486
+ <div class="w-24 bg-gray-800 rounded-full h-1.5">
487
+ <div class="bg-primary h-1.5 rounded-full" style="width: 78%"></div>
488
+ </div>
489
+ </div>
490
+ </div>
491
+ <button class="w-full mt-3 py-1.5 bg-gray-800 hover:bg-gray-700 rounded text-sm transition">
492
+ Extract Stems
493
+ </button>
494
+ </div>
495
+ </div>
496
+
497
+ <div class="p-4 border-t border-gray-800">
498
+ <div class="flex items-center space-x-2">
499
+ <div class="w-8 h-8 rounded-full bg-gradient-to-r from-primary to-secondary flex items-center justify-center">
500
+ <i data-feather="cpu" class="w-4 h-4 text-darker"></i>
501
+ </div>
502
+ <div class="flex-1">
503
+ <div class="text-sm">AI Processing</div>
504
+ <div class="w-full bg-gray-800 rounded-full h-1 mt-1">
505
+ <div class="bg-gradient-to-r from-primary to-secondary h-1 rounded-full" style="width: 65%"></div>
506
+ </div>
507
+ </div>
508
+ </div>
509
+ </div>
510
+ </aside>
511
+ </div>
512
+
513
+ <script>
514
+ // Initialize AOS animations
515
+ AOS.init({
516
+ duration: 800,
517
+ easing: 'ease-in-out',
518
+ once: true
519
+ });
520
+
521
+ // Initialize Feather Icons
522
+ feather.replace();
523
+
524
+ // Panel collapse functionality
525
+ document.getElementById('collapseLeft').addEventListener('click', function() {
526
+ const panel = document.getElementById('leftPanel');
527
+ panel.classList.toggle('hidden');
528
+ panel.classList.toggle('md:block');
529
+ this.querySelector('i').setAttribute('data-feather', panel.classList.contains('hidden') ? 'chevron-right' : 'chevron-left');
530
+ feather.replace();
531
+ });
532
+
533
+ document.getElementById('collapseRight').addEventListener('click', function() {
534
+ const panel = document.getElementById('rightPanel');
535
+ panel.classList.toggle('hidden');
536
+ panel.classList.toggle('md:block');
537
+ this.querySelector('i').setAttribute('data-feather', panel.classList.contains('hidden') ? 'chevron-left' : 'chevron-right');
538
+ feather.replace();
539
+ });
540
+
541
+ // Simulate waveform animation
542
+ const waveforms = document.querySelectorAll('.waveform');
543
+ waveforms.forEach(wave => {
544
+ const duration = Math.random() * 2 + 3;
545
+ wave.style.animationDuration = `${duration}s`;
546
+ });
547
+ </script>
548
+ </body>
549
  </html>
prompts.txt ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Of course. Here is a detailed and structured prompt designed to guide an AI in generating the complex front-end for your "ChordCraft" application.
2
+ This prompt is structured to be fed into a UI generation platform like Vercel's v0. It describes the application's layout, components, features, and aesthetic in detail to maximize the quality of the generated code.
3
+ AI Prompt for ChordCraft UI
4
+ Create a sophisticated, modern, and highly interactive web application interface for ChordCraft, an AI-powered music production studio that translates music into editable code. The application should be built as a single-page application using React and styled with Tailwind CSS. All UI components should be based on shadcn/ui, ensuring a cohesive and professional aesthetic.
5
+ The overall theme is a dark, futuristic interface with a neon-gradient color scheme (vibrant cyan, magenta, and electric purple) for accents, interactive elements, highlights, and data visualizations.
6
+ The application layout is a three-panel design:
7
+ * Left Panel (Collapsible): Project Management & Asset Library
8
+ * Center Panel: Main Workspace (dynamic, toggles between Studio and Code Editor)
9
+ * Right Panel (Collapsible): AI Companion & Inspector
10
+ ## 1. Header & Main Navigation
11
+ * Sticky Header: Contains the application logo (a stylized 'CC' with a neon glow), the current project title (editable on click), and a user profile section.
12
+ * Project Actions: A group of buttons on the right: Save Project (icon: Save), Export (Download), and a primary Share button.
13
+ * User Profile: An Avatar component with a dropdown Menubar for "Settings," "Billing," and "Logout."
14
+ ## 2. Left Panel: Project Manager
15
+ * A resizable, collapsible sidebar using ResizablePanel.
16
+ * Project Browser: Use an Accordion component with three sections:
17
+ * "My Projects": A list of user projects. Each item shows the project name and last modified date. Clicking a project loads it into the main workspace. Includes a + New Project button.
18
+ * "Audio Assets": A file browser for uploaded audio files (WAV, MP3). Each file has a play icon button next to it for previewing.
19
+ * "AI Tools": A list of available AI models, e.g., "Stem Separator," "Harmonic Analyzer," "Rhythm Generator."
20
+ * File Upload: A prominent Dropzone area at the bottom of the panel for dragging and dropping audio files.
21
+ ## 3. Center Panel: The Workspace
22
+ This is the core of the application, using a Tabs component to switch between two primary views: "Studio" and "Code Editor."
23
+ ### Studio View (DAW Interface)
24
+ * Transport Controls: A fixed control bar at the top of this panel with Buttons for: Play, Pause, Stop, Record, Toggle Loop, and a display for the current playhead time.
25
+ * Timeline & Tracks:
26
+ * A multi-track horizontal timeline. The top ruler should show time markers (e.g., 0:00, 0:05, 0:10).
27
+ * Each track is a horizontal container with:
28
+ * Track Header (Left): Track name, a Mute button, a Solo button, a volume Slider, and a pan Slider.
29
+ * Track Lane (Right): A visual representation of the audio waveform. This should be a placeholder component that looks like a colorful, detailed waveform using the neon gradient.
30
+ * Users can drag audio clips onto these lanes from the Left Panel.
31
+ * Action Button: A large, vibrant, gradient-background Button with an icon (Wand2) that says "Analyze & Convert to Code."
32
+ ### Code Editor View
33
+ * Monaco Editor Integration: The entire panel should be an instance of the Monaco code editor, pre-configured with a dark theme that matches the application's aesthetic.
34
+ * Generated Code Display: This view will display the AI-generated code representation of the music from the Studio view. The code should have syntax highlighting.
35
+ * Editor Toolbar: A toolbar above the editor with three key actions:
36
+ * Render Audio: A primary Button with a Play icon. This converts the current code back into an audio preview.
37
+ * Analyze Code: A secondary Button that sends the code to the AI Companion for analysis.
38
+ * Format: A Button to auto-format the code.
39
+ ## 4. Right Panel: AI Companion & Inspector
40
+ * A resizable, collapsible sidebar that provides context-aware information.
41
+ * Uses a Tabs component to switch between "AI Companion" and "Inspector."
42
+ ### AI Companion View
43
+ * This panel is for AI-driven feedback and analysis.
44
+ * Display analysis results in Card components. For example:
45
+ * A Card titled "Harmonic Analysis" displaying the song's Key, BPM, and a list of detected Chords using Badge components (e.g., Cm7, G#, A#).
46
+ * A Card titled "AI Suggestions" with actionable suggestions like "Try resolving this F#dim chord to a Gm" or "The rhythm in measure 4 is off-beat."
47
+ ### Inspector View
48
+ * This panel displays properties for the currently selected item (e.g., an audio clip, a track, a line of code).
49
+ * When an audio clip is selected in the Studio: Show its filename, duration, sample rate, and controls for gain (Slider) and pitch shifting (Slider).
50
+ * When a track is selected: Show advanced options like assigning it to a mixer channel or adding placeholder effects (e.g., Reverb, EQ).