=== hallowebsite Waveform Audio Player ===
Requires at least: 6.3
Requires PHP: 7.4
Tested up to: 6.8
Stable tag: 1.5.2
License: GPL-2.0-or-later

Schlanker MP3-Player mit Wellenform und Playlists. Einfach per Gutenberg-Block oder Shortcode einbinden und Farben individuell anpassen.

== Usage ==

Block editor: add the "WavePlayer" block (category Media), then upload / pick one or more MP3s or insert a URL.
Several files = playlist (track list, previous/next buttons, auto-play next).
Sidebar: tracks (title, artist, reorder, remove, add more), playlist options, theme, waveform height,
and per-player overrides for all 11 colours – including your theme palette (Kadence, theme.json …).

Shortcode:

[waveplayer src="https://example.com/song.mp3" title="Night Drive" artist="Hallo Website"]
[waveplayer id="123"]   (media library attachment ID; title/artist read from ID3 tags)
[waveplayer ids="12,13,14"]                     playlist from the media library
[waveplayer src="https://…/a.mp3,https://…/b.mp3"]  playlist from URLs

Options:
  height="80"           waveform height in px (24–240, default 64)
  progress="#7c3aed"    played/accent colour
  color="#c3c7d4"       unplayed wave colour
  theme="light|dark"    override the default theme
  list="no"             hide the track list (playlists; prev/next buttons stay)
  autonext="no"         don't play the next track automatically

== Look & variables ==
Flat, minimal design that uses your theme font. Every size and colour is a CSS variable.

Settings → WavePlayer:
* Sizes: card radius, border width, padding, margin, gap, play button size/radius,
  waveform height, bar width/gap/radius, font, font size, playlist row padding, playlist height.
* Colours for the light and the dark theme (with live preview).
* "All variables – copy & paste": every variable in one list. Paste it into
  Appearance → Customize → Additional CSS and edit there; the Customizer overrides the settings page.

Variable names: --wpl-* for sizes and light colours, --wpl-dark-* for dark colours,
--wpl-mobile-* for phone sizes. Set them anywhere (:root, body, a wrapper, .wpl) – no !important needed:
  :root { --wpl-bg: red; --wpl-dark-bg: #000; }
  .my-section { --wpl-accent: var(--global-palette1); }

Accent 2 and the focus ring follow the accent colour unless you set them.
Per-player colours (block sidebar) also accept your theme palette (Kadence, theme.json …).

== Notes ==
* The waveform is generated in the browser from the real audio, only when the player scrolls into view.
* Files on another domain need CORS headers for the waveform; otherwise a placeholder wave is shown (playback still works).
* Waveform analysis is optional: files over 20 MiB, downloads taking over 20 seconds, or known durations over 10 minutes retain the placeholder wave. Audio playback is independent.
* Only one player plays at a time. Keyboard: Space/Enter play, arrows seek ±5s.

== Changelog ==

= 1.5.2 =
* Rebranded to hallowebsite Waveform Audio Player (author: hallowebsite, https://hallowebsite.de). No functional changes.

= 1.5.1 =
* Author: hallowebsite; concise German plugin description.
* Cancel waveform downloads and disconnect observers/listeners when editor previews are removed.
* Serialize waveform analysis, cap downloads at 20 MiB and 20 seconds, and limit the peak cache to 32 files.
* Skip waveform analysis for known durations over 10 minutes; playback remains available.
* Translate dynamic playback labels; improve keyboard seeking and playlist accessibility.
* Register editor script translations and defer the frontend script.
* Align block/plugin versions and require WordPress 6.3 for Block API v3.

= 1.5.0 =
* Variables set in the Customizer / :root / any wrapper now always apply (the plugin no longer re-declares them on the player).
* Dark colours have their own names: --wpl-dark-*. Re-copy the variable list if you pasted the old one.
* New phone size variables: --wpl-mobile-padding, --wpl-mobile-gap, --wpl-mobile-btn-size.
