=== The Studio Player ===
Contributors: peterrahe, freemius
Donate link: https://studioplayer.de/donate
Tags: audio player, mixing, mastering, comparison, portfolio
Requires at least: 6.0
Tested up to: 7.1
Stable tag: 0.9.69
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Professional A/B comparison audio player for studio portfolios. Lossless FLAC streaming, no-code shortcode, 100% compatible with all page builders.

== Description ==

**The Studio Player – Sync by Design**

The Studio Player is a **professional WordPress audio player for mixing and mastering portfolios**, before/after demos, recording studio portfolios, producer portfolios, composer portfolios, and other serios audio presentations. It lets visitors compare synchronized audio versions with **sample-accurate** switching, **lossless FLAC streaming**, waveform support, and shortcode-based embedding. 



Unlike generic MP3 players built mainly for consumer playback, The Studio Player is designed for professional portfolio use. It helps audio professionals present their work in a way that makes sonic differences immediately audible while keeping playback locked in sync. **Switching between tracks feels just like pressing the solo buttons in the studio.** This makes it especially useful for portfolio websites where sound quality, comparison accuracy, and a professional presentation matter. 


The plugin includes an integrated **Muxer-Uploader** in the WordPress admin. Drag and drop your stereo WAV files, and the plugin encodes and combines them into a single efficient **multichannel lossless FLAC streaming** file. This reduces server requests, ensures 100% sync accuracy, and creates a workflow that fits real studio portfolio publishing. The audio content is streamed and **protected from direct download by time-limited tokens**.

The Studio Player is not just another WordPress music player. It is a **portfolio player built for professional audio comparison**, lossless presentation, and WordPress-based portfolio workflows.

**Built for:**

* **Mixing engineers and mastering engineers** who need a professional portfolio player for before/after comparisons or mix/master showcases
* **Recording studios and mastering studios** that want to publish a serious portfolio with synchronized A/B playback instead of a generic consumer audio player.
* **Music producers, composers, and sound designers** who want a WordPress portfolio player that presents their work with professional audio quality.
* **Researchers and critical listening projects** that rely on lossless audio playback and accurate switching to make subtle differences easier to demonstrate.
* **Hardware manufacturers** who need before/after portfolio demos for pre-amps, converters, processors and other audio gear.
* **Audio plugin manufacturers** who want to showcase plugin impact, processing differences, or comparison to analog originals and before/after audio examples in a professional portfolio format.
* **WordPress agencies, freelancers, and developers** building portfolio websites for studios, producers, composers, hardware brands, audio software brands, and other media professionals. **An agency version is available on request.**

**Key Features:**

* **Sample-accurate A/B audio comparison:** Switch instantly between synchronized audio variants without losing playback position.
* **Portfolio-focused audio presentation:** Publish professional mixing, mastering, studio, composer, and producer portfolio examples directly in WordPress.
* **Lossless FLAC streaming:** Stream audio in up to 44.1 kHz / 16-bit quality with adaptive buffering for desktop and mobile.
* **Integrated Muxer-Uploader:** Encode and upload stereo WAV files directly from the WordPress admin.
* **Waveform support:** Display waveform data in the player for a more informative and more professional portfolio experience (individual per track/variant).
* **Playlist builder:** Create complete portfolio showcases with metadata, cover art, and custom player design.
* **Advanced design tools:** Use Magic Palette and Color Probe to match the portfolio player to your site quickly.
* **Shortcode embedding:** Place portfolio players anywhere in WordPress with generated shortcodes. 
* **Compatible with all page builders** like Gutenberg, Elementor, Divi, etc.

**Pro Version Features:**

* **A/B/C/D comparison:** Compare up to four synchronized audio variants in one portfolio player.
* **High-resolution audio engine:** Encode and play back audio in up to 48 kHz / 24-bit quality.
* **Waveform generation and rebuild tools:** Generate waveform JSON for new tracks and rebuild existing waveform data.
* **Recovery tools:** Reconnect media files on disk with WordPress Media Library entries.
* **Advanced workflow utilities:** Additional tools for maintaining larger studio libraries and professional portfolio workflows.

**Live Demo:**
Check out the player and test the entire backend with real data on: <https://demo.studioplayer.de>

**Documentation:**
<https://studioplayer.de/docs>

**Free and Pro**

The free version of The Studio Player includes the full player, the playlist editor, the FLAC muxer/uploader, integrity checks and optional sample content. It works completely on its own and does not expire.

The free plugin core remains fully functional without Freemius license activation or Freemius connect opt-in.

Optionally, ready-made sample playlists and media can be downloaded from our server studioplayer.de so you can test the plugin immediately with real data.

A separate Pro add-on unlocks an advanced audio engine and tools like data recovery, waveform JSON generation and waveform rebuild utilities. Those Pro features are implemented in a separate premium-only integration, not as disabled code inside the free plugin.

A dedicated Tools page provides recovery, waveform rebuild and integrity utilities to keep existing Studio Player libraries healthy over time.

Players are built as dedicated “Player-Builder” entries (custom post type), so you can create multiple independent players with their own templates and designs.

== Installation ==

1.  Download and install the plugin.
2.  Activate the plugin.
3.  Optional: follow the onboarding wizard.
4.  Or go directly to **The Studio Player > Muxer-Uploader** in the WordPress admin.
5.  Encode and upload your WAV files to create a muxed multichannel FLAC file.
6.  Craft a playlist with metadata, cover art and player design in the **Player-Builder** graphical interface – integrate the design into your site with the Color Probe and Magic Palette tools.
7.  Save the player and copy the generated shortcode to embed the player onto your site. (All parameters are stored in the database – no additional coding required.)



== Frequently Asked Questions ==

= What audio formats are supported? =
The muxer accepts standard stereo `.wav` files at 44.1 kHz / 16-bit (or 48 kHz / 24-bit in the Pro version). 
The output is a highly efficient streaming FLAC file containing all variants.
The player switches sample-accurately between the channel pairs (variants).

= How I design a Player or a Template ? =
The plugin offers automated design tools to automatically match the color scheme of the target site. No CSS coding required.
Templates can be developed using our Design API (the audio engine and the design are strictly separated).
<https://studioplayer.de/docs/template-api-manual/>

= Does it work on mobile? =
Yes, the player templates are responsive and touch-friendly. 
Thanks to adaptive streaming it works well on mobile devices – even on very slow networks.
The WordPress admin views are also optimized for mobile so you can make small changes on the go.

= How do I upgrade to Pro? =
You can find the Pro version here:
<https://studioplayer.de>
Or on the license page in the WordPress admin.
Freemius Inc. provides the SDK for license management services and acts as our worldwide reseller.

= What happens on uninstall? =
The plugin offers an option to remove its uploaded FLAC files and settings on uninstall. By default, media files remain in your uploads folder so you do not accidentally lose audio data.

== Screenshots ==

1.  **Muxer Interface** - The admin interface for combining and uploading audio variants as lossless multichannel FLAC.
2.  **Player-Builder** - Backend for composing playlists and designing Player.
3.  **Player View** - The default player with waveform visualization.

== Security ==

The Studio Player secures its admin AJAX endpoints with nonces, strict capability checks and sanitized input (titles, filenames, subdirectories, JSON payloads) before storing anything.

The playlist REST API follows WordPress visibility rules (published playlists are public, drafts/private playlists only for users who can edit them) and restricts audio attachments to FLAC/WAV via extension and MIME allowlists.

The streaming engine uses signed, time-limited URLs, directory protection, safe path checks and IP-based rate limiting, and loads player templates only from sanitized slugs in fixed directories with a guarded fallback so broken templates show a safe error UI instead of causing a fatal error.

== Remote Content & Privacy ==

The Studio Player can optionally load helper content from <https://studioplayer.de> – onboarding, banners, documentation and the changelog – in your WordPress admin area only.

Remote content loading is strictly opt-in and can be turned off at any time in the plugin settings. No tracking pixels or analytics scripts are injected, no listening or playback data from your visitors is sent to us, and all remote responses are cleaned down to basic, safe HTML before being displayed.

Remote admin content is loaded from our own service at <https://studioplayer.de>.

The plugin can also optionally download ready-made sample playlists and media from studioplayer.de when an administrator starts the sample data import. This is only used to let you test the plugin immediately with real data.

The sample import is started manually by an administrator, stores the downloaded files temporarily in the WordPress uploads directory, and does not transmit visitor playback data to our server.

For legal information and details about data processing, please see:
– Imprint & legal: <https://studioplayer.de/imprint/>
– Privacy Policy: <https://studioplayer.de/imprint/#privacy>

License and account management for the separate Pro add-on are handled by Freemius. Their legal documents are available at:
– Terms of Service: <https://freemius.com/terms/>
– Privacy Policy: <https://freemius.com/privacy/>


== Third-Party Code & Source Information ==

All PHP files and all custom CSS and JavaScript files authored by us are included in human-readable form.
We do not minify or obfuscate our own code.
Player UI styles are provided through regular CSS files.
Any bundled third-party compiled assets are listed separately below together with their public source references.

This plugin bundles and uses the following third-party libraries and services:

* Freemius SDK  
  License: GPLv2 or later  
  Provider: Freemius Inc. (handling license management and payments)

* libflac.js (v5.4.0)  
  License: MIT  
  Copyright (c) 2014-2020 DFKI GmbH  
  This library is included in compiled form (asm.js / WASM); its full source code and build instructions are available at <https://github.com/mmig/libflac.js>.  
  The full license text can be found in the assets/libs/libflac/ directory.

* libFLAC & libogg  
  License: BSD 3-Clause  
  Copyright (c) 2000-2025 Xiph.Org Foundation
  <https://www.xiph.org/>

== Changelog ==

= 0.9.69 =
* Full compatibility with the (upcoming) WP 7.1 
* New, more detailed README.txt

= 0.9.68 =
* first release on wordpress.org 
* full WP compliance 
* better license integration


== Upgrade Notice ==
