=== VEFmusic ===
Contributors: vimagesericfabre
Author URI: https://v-images.com
Tags: music, band, audio player, gutenberg blocks, events
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.2
Stable tag: 2.6.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Showcase your band online: audio player, albums, shows, visitor ratings, SEO data — native Gutenberg and Divi 5 blocks, no shortcode.

== Description ==

VEFmusic is a free plugin for a band's website: an audio player with tracks and albums, a show calendar, visitor ratings, and automatic SEO structured data — all through native blocks, no shortcode required.

**Content**

* Track, Album and Show post types, with a Genre taxonomy
* Bulk import: select several audio files at once (e.g. a whole album) to create matching draft tracks in one go, with tags read automatically (title, duration, track number, album, genre) — reviewed and confirmed before publishing
* Track: duration, parent album, listening mode (preview, free full listen, or buyers only), audio file (MP3, WAV, FLAC, OGG, M4A)
* Album: release year, front/back cover, collapsible tracklist
* Show: date, venue, address, image, external ticketing link, optional venue link, free-text price note

**Player**

* SVG icons, clickable progress bar, volume, a real-time audio equalizer
* Fully keyboard-accessible, with ARIA labels reflecting the real playback state
* Automatic lightweight MP3 version generated from a FLAC/WAV master file where hosting allows it

**Accessibility**

* Player: keyboard-operable progress bar and volume, ARIA labels reflecting the real playback state, visible keyboard focus
* Visitor rating form: grouped/labeled star options, screen-reader-only labels, live status region on submission
* Lyrics toggle: proper expanded/collapsed state exposed to assistive technology
* Descriptive alt text on show posters and album covers; external links (tickets, venue, social) flagged as opening a new tab

**Blocks**

Six native Gutenberg blocks — Track List, Album, Shows, Next Show, Past Shows, Random Player — with six matching native Divi 5 modules and six matching native Elementor widgets, all sharing the same server-side rendering.

**More**

* Visitor ratings (moderated) for tracks, albums and shows
* Automatic schema.org structured data for search engines
* Anonymous listening statistics — no IP address, cookie or identifier ever stored
* Auto-generated press kit (PDF + zip) built from your band's existing content
* Settings export/import for deploying the same identity/style on a new site

= Selling music? =

VEFmusic itself never sells anything. [VEFmusic Pro](https://v-images.com) is a separate paid extension adding a cart, PayPal/Stripe payment, donations, internal ticketing with QR codes, merch, promo codes, preorders/crowdfunding, customer accounts and sales statistics.

== Installation ==

1. Upload the `vefmusic` folder to `/wp-content/plugins/`, or install it through the WordPress admin under Plugins > Add New.
2. Activate the plugin.
3. Go to **VEFmusic > General** to enter your band's identity.
4. Add your tracks, albums and shows, then place the blocks on your pages.

== Frequently Asked Questions ==

= Does this plugin sell anything? =

No. VEFmusic is a showcase plugin only. Selling tracks, albums, merch, tickets, or accepting donations requires the separate VEFmusic Pro extension.

= Do I need Divi or Elementor? =

No. VEFmusic works with the native WordPress block editor (Gutenberg) out of the box. Divi 5 and Elementor support is provided in addition, not required.

= Where are my audio files stored? =

Outside the media library, in a protected location never accessible by direct link — playback always goes through an access check based on the track's listening mode.

= Can I use this plugin for any band, or is it built for a specific one? =

VEFmusic is fully generic: nothing is hard-coded, everything comes from your own settings and content.

== External services ==

This plugin connects to a support service operated by V-IMAGES (v-images.com), the plugin's publisher, only when you explicitly fill in and submit the "Support request" form (VEFmusic > Help > Support tab). It is never contacted automatically or in the background.

When you submit that form, the following is sent: your reply-to email address, the subject and message you typed, your site's URL, the VEFmusic (and, if installed, VEFmusic Pro) version numbers, your WordPress version, your PHP version, and your active theme's name and version. This lets the publisher reply to your request with the relevant technical context, without you having to copy it in by hand.

This service is provided by V-IMAGES (Eric Fabre): [Terms of use](https://v-images.com/cgv-cgu/), [Privacy policy](https://v-images.com/politique-de-cookies-eu/).

== Screenshots ==

1. VEFmusic admin screen.
2. VEFmusic admin screen.
3. VEFmusic admin screen.
4. VEFmusic admin screen.
5. VEFmusic admin screen.
6. VEFmusic admin screen.
7. VEFmusic admin screen.
8. VEFmusic admin screen.
9. VEFmusic admin screen.
10. VEFmusic admin screen.
11. VEFmusic admin screen.
12. VEFmusic admin screen.

== Changelog ==

== Changelog ==

= 2.6.2 =
* Added: new Diagnostic entry confirming the Divi 5 live-preview endpoint is registered.

= 2.6.1 =
* Fixed: Divi 5 module preview in the Visual Builder now loads the plugin's own stylesheet, so it displays correctly instead of appearing unstyled.

= 2.6.0 =
* Added: Divi 5 module preview in the Visual Builder now shows the real, live content (same as the front end) instead of a static placeholder message.

= 2.5.4 =
* Fixed: updating or rolling back to a version from the version history could require two clicks to actually install.

= 2.4.0 =
* Added: bulk import for tracks — select several audio files at once (e.g. a whole album), each becomes a draft track with tags read automatically (title, duration, track number, album, genre); review and adjust everything in a table before publishing.
* Added: native track ordering ("Track n°"), usable directly from the bulk import review table.

= 2.3.11 =
* Added: full Accessibility section (see above) documenting the rating form, lyrics toggle and link handling — previously only the player was described.
* Improved: the Random Player now announces the newly playing track to screen readers when it switches automatically.

= 2.3.10 =
* Fixed: "Roll back to this version" button could require two clicks to work.

= 2.3.9 =
* Security: precautionary hardening following a WordPress core vulnerability (CVE-2026-65640, fixed in WP 7.0.4).

= 2.3.8 =
* Added: automatic Duration/Genre pre-fill from audio file tags on upload.

= 2.3.7 =
* Fixed: lyrics panel collapse/expand behavior.

= 2.3.6 =
* Changed: Help/About screens updated for the native Elementor widgets.

= 2.3.5 =
* Fixed: CRITICAL — track upload could silently fail to save on some sites.

= 2.3.4 =
* Added: 6 native Elementor widgets (Track List, Album, Shows, Next Show, Past Shows, Random Player).

= 2.3.3 =
* Fixed: visitor reviews not displaying; broken support-service links; translation completed.

= 2.3.1 =
* Fixed: CRITICAL — tracks uploaded before 2.2.9 could stop playing after an audio storage location change.

= 2.3.0 =
* Added: optional lyrics field; rich text in the press kit bio/free text.

= 2.2.12 =
* Changed: "Tested up to" bumped to WordPress 7.1.

= 2.2.9 – 2.2.11 =
* Code quality and security hardening following a WordPress.org Plugin Check review; minor Help tab corrections.

= 2.2.8 =
* Added: choose which albums appear in the press kit.

= 2.2.5 – 2.2.7 =
* Press kit PDF: WebP logo support, tagline field, layout and pagination improvements.

= 2.2.0 – 2.2.4 =
* Preparation for WordPress.org submission (update mechanism, metadata, code hardening).

= 2.1.0 =
* Added an option to include/exclude crowdfunding elements from the press kit.

= 2.0.0 =
* Initial public release.

== Upgrade Notice ==

= 2.3.5 =
Fixes a critical bug where uploading a track's audio file could silently fail to save.

= 2.0.0 =
Initial public release.
