I wanted to do a Make post on my wants for Audio / Video in 3.9 to solicit feedback and spark some discussion about what the community wants / needs / doesn’t want / doesn’t need. Adding audio / video in 3.6 was a great first step, but there are some things we can do to continue to modernize Media and give our huge user base even more ways to display and manage their content. We can also make some changes that help developers navigate the new world of MediaElement.js, Backbone, and Underscore.
First Things First: New Icons
#26650 Replace media file type icons with Dashicons
There are some lingering icons in the admin (and super admin) that don’t look as pretty as their MP6ify’d brethren
Document the “new” Media code introduced in 3.5
Support subtitles for Video
#26628 Use the content of a video shortcode when provided.
This ticket Created for both bug reports and feature development on the bug tracker. speaks for itself, and already has a patch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing..
Generate audio/video metadata on-demand
#26825 Add ability to generate metadata for audio / video files on-demand
Add “Playlist” and “Video Playlist” shortcodes
#26631 Add a “playlist” shortcode
My ticket already contains a patch, but is still considered a work in progress. I think the playlist shortcode should produce markup that does the following:
- Works out of the box with any existing theme: the HTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. should be semi-bulletproof. Many of the Player libraries make heavy use of DIVs instead of items that might be overridden easily with CSS Cascading Style Sheets.: LIs and the like.
- Gives the developer total control if they want to write their own implementation
- Exposes enough data to the page so the themer/dev can make their own decision regarding display of album cover, track meta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress., captions, etc.
var data = $.parseJSON( el.find('script').html() );
My current UI for playlist is a basic one, and uses Backbone Views to render the tracklist on load and update the “current” playing track view. There are 2 camps of people when it comes to “JS on the frontend” – one who doesn’t like it (others) and one who says “who cares” (me). One of the reasons I am posting this at the beginning is so we can flesh out issues like this.
Abstract Gallery logic into “Collection” logic that Galleries, Playlists, etc can use with minimal registration code
I have already done a first pass at this in the playlist shortcode patch. It goes like this: a “gallery” is really a “collection” of attachments of type “image.” A “playlist” is really a “collection” of attachments of type “audio.” So they should extend or be instances of a “collection”-type class. Currently, the Gallery code has to be dupe’d. By abstracting this code, Gallery, Playlist, Video Playlist, + any other “collection” of media type can be registered minimally.
- In our playlist JS code, emit events that others can hook into – maybe a video playlist is: News clip, ad, news clip, ad, etc. When emitting events before / after an ad, the dev could disable next/prev buttons
- Register an endpoint for audio / video that will expose the “embed code” via oEmbed
#audio, #backbone, #jquery, #media, #mediaelement, #underscore, #video