Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/retro-webpage/llms.txt
Use this file to discover all available pages before exploring further.
WinampPlayer is a fully self-contained widget that recreates the iconic Winamp 2.x media player interface straight from 1999 — dark chrome panels, a green-on-black LCD display, bevel-styled transport buttons, and a 16-column animated EQ visualizer. It carries no real audio playback; the illusion is purely visual, making it a perfect decorative centerpiece for any retro portfolio page.
Props
WinampPlayer accepts no props. All state is managed internally.
The component is fully self-contained. Drop it anywhere in your JSX and it works out of the box — no configuration, no context, no audio files required.
Usage
Behavior & Animation
Play / Pause toggle — The component initializes withisPlaying set to true. Clicking the ⏸ / ▶ button toggles this boolean. While playing:
- The LCD timer displays
01:23and resets to00:00when paused. - The song name
Darude - Sandstorm.mp3 (128kbps)scrolls horizontally via a Tailwindanimate-marqueeclass. - Each of the 16 EQ bar columns animates independently via the
eq-barCSS class, which applies theeq-bouncekeyframe animation. Each column is assigned a randomanimationDelay(0–0.5 s) andanimationDuration(0.3–0.7 s) on every render, producing the organic wobble characteristic of a real spectrum analyzer.
isPlaying is false, the inner #00ff00 bar element is unmounted entirely, leaving only the dark #003300 column backing visible — faithfully mimicking a stopped Winamp.
Prev / Stop / Next buttons — Rendered with the same bevel styling (raised border on mount, inverted on :active) but carry no click handlers in the current implementation. They serve as authentic decorative controls.
The
eq-bounce keyframe animation must be defined in your global CSS or Tailwind config for the EQ bars to animate. Confirm the keyframe is present if bars appear static while playing.