=== SoundFiles Player ===
Contributors: soundfile
Tags: audio, player, soundfiles, waveform
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 2.0.3
License: GPLv2 or later

Embed public SoundFiles.eu audio files in WordPress with a responsive, theme-safe player, waveform, shortcodes, and live color preview.

== Description ==

SoundFiles Player is the official WordPress integration for SoundFiles.eu.

The plugin lets you embed public SoundFiles audio using a shortcode or a supported SoundFiles URL. The player is isolated from theme CSS with Shadow DOM, so its layout and controls remain consistent across WordPress themes.

Features include:

* Responsive audio player with waveform.
* Theme-safe styling using Shadow DOM.
* Live preview in the WordPress settings screen.
* Custom PLAY, waveform, background, border, and text colors.
* Adjustable player width.
* Shortcodes for simple and advanced embeds.
* Translation-ready interface that follows the WordPress locale.
* No third-party icon or font CDN dependency.

== Installation ==

1. Upload the plugin ZIP in Plugins -> Add Plugin -> Upload Plugin.
2. Activate SoundFiles Player.
3. Open Settings -> SoundFiles Player.
4. Customize the player colors and width if needed.
5. Add a player with `[soundfiles id="FILE_HASH"]`.

== Shortcodes ==

Basic player:

`[soundfiles id="FILE_HASH"]`

Use one color for PLAY and WAVE:

`[soundfiles id="FILE_HASH" color="#105b81"]`

Set PLAY and WAVE colors independently:

`[soundfiles id="FILE_HASH" play="#105b81" wave="#3a6b84"]`

Embed from a SoundFiles URL:

`[soundfiles_player url="https://soundfiles.eu/FILE_HASH/file"]`

== External services ==

This plugin connects to SoundFiles.eu in order to play the audio file selected by the site owner. When a player is displayed, the visitor's browser requests the audio stream from `soundfiles.eu` and the waveform image from `storage.soundfiles.eu`.

SoundFiles.eu service: https://soundfiles.eu/
Developer information: https://soundfiles.eu/developers

No SoundFiles account or API key is required by this WordPress plugin for public audio embeds.

== Development ==

All JavaScript and CSS files distributed with this plugin are the original, human-readable source files. The plugin does not use npm, webpack, minification, transpilation, or any other build step, and it does not include generated bundles that require separate source files.

The player stylesheet is stored in `assets/player.css` and is loaded inside the player's Shadow DOM by `assets/embed_sf.js`. The WordPress settings screen uses the separate source files `assets/admin.css` and `assets/admin.js`.

== Screenshots ==

1. SoundFiles Player with waveform and playback controls.
2. Player appearance settings with live preview in the WordPress admin.
3. Shortcode examples for embedding SoundFiles audio.
4. Responsive SoundFiles Player on a mobile device.

== Frequently Asked Questions ==

= Does the plugin work with different WordPress themes? =

Yes. Player styles are isolated with Shadow DOM to reduce conflicts with theme and page-builder CSS.

= Can the plugin be translated? =

Yes. The plugin uses the standard WordPress internationalization functions and is ready for translations through translate.wordpress.org when hosted in the WordPress.org Plugin Directory.

= Can I use more than one player on a page? =

Yes. Multiple SoundFiles players can be embedded on the same page.

== Changelog ==

= 2.0.3 =
* Moved settings-page CSS and JavaScript to files loaded with WordPress enqueue functions.
* Moved player styling to a separate human-readable source stylesheet.
* Removed bundled translation files and the unnecessary `load_plugin_textdomain()` call for WordPress.org hosting.
* Updated the WordPress.org contributor username.
* Documented that all distributed JavaScript and CSS are source files and require no build step.

= 2.0.2 =
* Added WordPress internationalization support.
* Localized player accessibility labels and waveform status text.
* Updated plugin metadata and documentation for WordPress.org.

= 2.0.1 =
* Isolated player styles with Shadow DOM so WordPress themes do not override player controls.
* Removed the external Font Awesome dependency; the spinner now uses local CSS.
* Improved responsiveness, multiple-player playback, time display, and seeking.

= 2.0.0 =
* Initial release.
