You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(cue-builder): add CUE file builder web application
- Implement timestamp-to-CUE conversion tool with separated HTML/CSS/JS structure
- Support multiple formats (m:ss, h:mm:ss, ranges) and customizable metadata inputs
- Apply Catppuccin Mocha styling with responsive layout and button action feedback
- Include example inputs and update root README.md and AGENTS.md documentation tables
A web application that converts timestamp lists into valid CUE sheet files.
6
+
7
+
### File Structure Constraints
8
+
- HTML, CSS, and JS must be in **separate files** (`index.html`, `style.css`, `script.js`).
9
+
- Examples are stored in the `examples/` directory.
10
+
11
+
### Styling Constraints
12
+
- Use **Catppuccin Mocha** color palette for all styling.
13
+
- No mention of "Catppuccin Mocha" should appear in the page footer or visible UI text.
14
+
15
+
### Input Parsing Constraints
16
+
- Must support **multiple timestamp formats**:
17
+
-`m:ss` (e.g., `5:45`) — as seen in `examples/simple-example.txt`
18
+
-`h:mm:ss` (e.g., `1:00:56`) — as seen in both examples
19
+
-`start-end` range format (e.g., `0:00-5:37`) — as seen in `examples/range-example.txt` (only the start timestamp is used for the INDEX position)
20
+
21
+
### CUE Output Constraints
22
+
- Generate valid CUE sheet format with MSF (Minutes:Seconds:Frames) timestamps.
23
+
- MSF must use `:` as separator in `MM:SS:FF` format (e.g., `05:45:00`).
24
+
- Frames are calculated at **75 frames per second** (1 frame = 1/75 of a second). Fractional seconds map to frames via `Math.round(fractionalSeconds * 75)`.
25
+
- The CUE `FILE` line must only include the filename (with extension), **no file type keyword** appended (e.g., `FILE "audio.wav"` not `FILE "audio.wav" WAV`).
26
+
- Each parsed line becomes a single TRACK entry.
27
+
28
+
### Metadata Input Constraints
29
+
- User must be able to specify:
30
+
-**PERFORMER** — text input, default "Unknown"
31
+
-**TITLE** — text input, default "Mixed Album"
32
+
-**DATE** — text input, defaults to current year
33
+
-**FILE Name with Extension** — text input, default "audio.wav"
34
+
-**No FILE Type selector** — file type is not specified separately; the filename includes the extension.
35
+
36
+
### UI/UX Constraints
37
+
- Copy to Clipboard and Download buttons must provide **visual feedback** on action (text change + green flash, reverting after ~1.5 seconds).
38
+
- Responsive layout: metadata section full-width, input/output panels side-by-side on desktop (768px+), stacked on mobile.
0 commit comments