Commit Graph

27 Commits

Author SHA1 Message Date
Scott Taylor
615dd5331b Unifying media controls and supporting playlists in the editor:
* Support a `caption` attribute for audio and video shortcodes
* In `wp.media.audio|video`, rename `update` to `shortcode` to allow these models to share the same mixins as `wp.media.collection` subclasses
* When sending an audio or video shortcode to the editor, create a default caption if the user hasn't entered one. This currently only displays in the editor, not on the front end. Captions aren't tied to a specific attachment here because external sources are supported.
* In the `wp.mce.media` mixin, in the `edit` method, read `attr` instead of `data` when attempting to parse the encoded shortcode. `data` does not automatically update when the attribute changes. This was a blessing to debug.
* Add `wp.mce.media.PlaylistView` to support playlist views in TinyMCE
* Expose `WPPlaylistView` to global scope and suppress auto-parsing of playlist nodes when in the admin. Allow `WPPlaylistView` to be passed `metadata` on creation instead of requiring a JSON blob to be parsed.
* Remove all of the playlist logic from the `wpgallery` TinyMCE plugin.
* In `wp_prepare_attachment_for_js()` return more data for audio/video so that playlists can have parity in the admin/front end.

See #27320.


Built from https://develop.svn.wordpress.org/trunk@27640


git-svn-id: http://core.svn.wordpress.org/trunk@27483 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-20 13:33:14 +00:00
Scott Taylor
a17dd704c4 Create a new file, media-audiovideo.js, to house all of the audio and video JS code in core.
UX Changes:
* Don't add a menu item for "Add Audio|Video Source"
* In the Audio|Video Details modal, add buttons and some suggestive text for adding alternate playback sources
* Don't show "Create Audio|Video Playlist" menu items until the user has uploaded audio or video files

See #27437.


Built from https://develop.svn.wordpress.org/trunk@27608


git-svn-id: http://core.svn.wordpress.org/trunk@27451 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-19 05:31:15 +00:00
Scott Taylor
e47bc77616 Load MediaElement's CSS when TinyMCE is loaded via $mce_css in editor_settings(). Add some baseline styles in wp-content.css for audio, video, and embed tags to ensure their max-width is 100%, regardless of whether MEjs is implemented in TinyMCE.
See #27389.


Built from https://develop.svn.wordpress.org/trunk@27534


git-svn-id: http://core.svn.wordpress.org/trunk@27377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-14 12:34:16 +00:00
Scott Taylor
394feb8f91 Add a class, wp-playlist-playing, to the currently loaded track when tracks are displayed. Add some subtle styles for light and dark playlist themes.
See #27321.


Built from https://develop.svn.wordpress.org/trunk@27489


git-svn-id: http://core.svn.wordpress.org/trunk@27333 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-10 00:15:14 +00:00
Scott Taylor
f078f3e10e Video editing in the media modal:
* Add a state: `Add Subititles`
* Add `text/vtt` to the list of allowed mime-types, files end in `.vtt`. `.srt` files are served as `text/plain`.
* The content body of a video shortcode should be used for adding `<track>` elements only. This happens dynamically in the modal. If added by hand, they can still be parsed and managed.

See #27016.


Built from https://develop.svn.wordpress.org/trunk@27481


git-svn-id: http://core.svn.wordpress.org/trunk@27325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 10:32:15 +00:00
Scott Taylor
8e2e99fd0c Since audio and video shortcodes don't point at actual attachments, don't persist the library's selection. Move the media instructions in the block that scrolls.
See #27016.


Built from https://develop.svn.wordpress.org/trunk@27480


git-svn-id: http://core.svn.wordpress.org/trunk@27324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 06:24:15 +00:00
Scott Taylor
f7af18e1d6 Audio/Video shortcodes in the media modal:
* Make a generic model, `wp.media.model.PostMedia`, which replaces `wp.media.model.PostAudio` and `wp.media.model.PostVideo`
* Make a generic library, `wp.media.controller.MediaLibrary`, which replaces `wp.media.controller.ReplaceVideo` and `wp.media.controller.ReplaceAudio`
* `wp.media.controller.MediaLibrary` is used to create new states that want to load a library filtered by type, making it incredibly simple to add states to frames. See `wp.media.view.MediaFrame.VideoDetails` and `wp.media.view.MediaFrame.AudioDetails`.

UX changes:

* Add the ability to manage HTML5 fallbacks - add additional `<source>`s or remove specific `<source>`s
* In the Video Details state, add the ability to select a poster image

See #27016.


Built from https://develop.svn.wordpress.org/trunk@27478


git-svn-id: http://core.svn.wordpress.org/trunk@27322 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-09 05:25:15 +00:00
Scott Taylor
52fdb09e2d Support the autoplay attribute, even when the plugin type for a MediaElement instance is Flash. In the media modal, wp.media.view.VideoDetails and wp.media.view.AudioDetails now extend a unified wp.media.view.MediaDetails class which contains all of the player creation and destruction logic. The remove() method mimics the mejs.MediaElementPlayer.remove() method, but does not re-add the audio/video tag to the DOM. The MEjs method is especially problematic when the tag has autoplay="true" and the view has been detached but not destroyed.
Fixes #25077.
See #27016.


Built from https://develop.svn.wordpress.org/trunk@27450


git-svn-id: http://core.svn.wordpress.org/trunk@27296 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-07 05:52:14 +00:00
Scott Taylor
ff8844deae Add TinyMCE placeholders for audio and video shortcodes.
* Add `wp.media.mixin`.
* Add `wp.media.audio` and `wp.media.video`.
* Add `wp.media.model.PostAudio` and `wp.media.model.PostVideo`
* Add `wp.media.controller.AudioDetails` and `wp.media.controller.VideoDetails`.
* Add `wp.media.controller.ReplaceAudio` and `wp.media.controller.ReplaceVideo`.
* Add `wp.media.view.MediaFrame.AudioDetails` and `wp.media.view.MediaFrame.VideoDetails`.
* Add `wp.media.view.AudioDetails` and `wp.media.view.VideoDetails`.
* Update the `wpgallery` TinyMCE plugin.
* Display audio and video players in the media modal when shortcode is clicked.
* Provide a UI to edit shortcode attributes in the media modal.
* Provide a UI to replace the `src` media file in an `audio` or `video` shortcode.

See #27016.


Built from https://develop.svn.wordpress.org/trunk@27411


git-svn-id: http://core.svn.wordpress.org/trunk@27258 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 15:06:14 +00:00
Scott Taylor
db1a8785b5 Some playlist cleanup:
* Check properties against the `window` object when using `_.isUndefined()` on globals
* Fix a typo for `$safe_type` introduced in [27311]

See #26631.


Built from https://develop.svn.wordpress.org/trunk@27320


git-svn-id: http://core.svn.wordpress.org/trunk@27172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-27 21:38:17 +00:00
Scott Taylor
943f295d2e Add core support for Playlists and Video Playlists.
* Playlists operate like galleries in the admin. 
* Provide default UI and JS support in themes using MediaElement and Backbone. 
* The shortcodes are clickable, editable, and configurable using the media modal. 
* Playlists support images for each item, whether or not the current theme supports images for `attachment:audio` and `attachment:video`
* Playlists respond to `$content_width` and resize videos accordingly.
* All playlist data is included inline, using a script tag with `type="application/json"`, allowing anyone to unenqueue the WP playlist JS and roll their own.
* Playlist styles are minimal and work out of the box in the last 5 default themes. They inherit and adapt to the current theme's font styles, and their rules are easily overrideable.

See #26631.


Built from https://develop.svn.wordpress.org/trunk@27239


git-svn-id: http://core.svn.wordpress.org/trunk@27096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-24 18:08:16 +00:00
Scott Taylor
79ad468c61 Upgrade MediaElement to 2.13.2 from 2.13.0. For a full list of changes: https://github.com/johndyer/mediaelement/compare/2.13.0...2.13.2
Fixes #26954.


Built from https://develop.svn.wordpress.org/trunk@27059


git-svn-id: http://core.svn.wordpress.org/trunk@26932 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-29 18:24:11 +00:00
Andrew Nacin
a66b92af4c JSHint fixes for word-count.js and wp-mediaelement.js. see #25187.
Built from https://develop.svn.wordpress.org/trunk@26209


git-svn-id: http://core.svn.wordpress.org/trunk@26117 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-15 06:52:09 +00:00
Andrew Nacin
6861353737 Set audio player to width: 100% and avoid breaking the layout in iOS when we fall back to a link.
props markjaquith, davidjlaietta.
fixes #24896.



git-svn-id: http://core.svn.wordpress.org/trunk@24948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-01 14:48:39 +00:00
Andrew Nacin
f66e1e4a69 Update MediaElement.js to 2.13.0 build, which fixes issues WordPress reported. see #24183.
git-svn-id: http://core.svn.wordpress.org/trunk@24946 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-01 13:46:19 +00:00
Andrew Nacin
f590791d93 Pass pluginPath to MediaElement.js, fixing playback when ME.js is served through load-scripts.php.
props ocean90, wonderboymusic, azaozz.
fixes #24902.



git-svn-id: http://core.svn.wordpress.org/trunk@24940 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-01 13:15:14 +00:00
Andrew Nacin
87b02fb372 RTL fix for MediaElement.js video controls. Also filed upstream. fixes #24897. for trunk.
git-svn-id: http://core.svn.wordpress.org/trunk@24924 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-31 17:50:37 +00:00
Andrew Nacin
a0c25d31c9 New build of MediaElement.js SWF. see #24183.
git-svn-id: http://core.svn.wordpress.org/trunk@24910 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-31 04:38:34 +00:00
Andrew Nacin
a1c4a3fb76 Update MediaElement.js SWF file from upstream. Fixes issues with controls. fixes #24183.
git-svn-id: http://core.svn.wordpress.org/trunk@24861 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-29 09:16:02 +00:00
Andrew Nacin
af708b5a71 Update MediaElement.js to a new 2.12.1 (untagged) build. see #24183.
git-svn-id: http://core.svn.wordpress.org/trunk@24786 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-24 05:35:17 +00:00
Andrew Nacin
d970706e3d Update MediaElement.js to include i18n fixes that were accepted upstream. Add strings to script-loader.
props SergeyBiryukov.
see #24183.



git-svn-id: http://core.svn.wordpress.org/trunk@24755 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-19 19:21:08 +00:00
Dominik Schilling
173c3da21f Update MediaElement.js to 2.12.0. see #24183.
git-svn-id: http://core.svn.wordpress.org/trunk@24410 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-05 21:50:23 +00:00
Mark Jaquith
926445b1e8 Update MediaElement.js to 2.11.3
props wonderboymusic, John Dyer. see #23831.

git-svn-id: http://core.svn.wordpress.org/trunk@23977 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-12 21:48:16 +00:00
Mark Jaquith
03e8599e07 Update MediaElement.js to 2.11.1
Also get rid of its non-minified JS/CSS files.

props wonderboymusic, ocean90. fixes #24015.

git-svn-id: http://core.svn.wordpress.org/trunk@23968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-11 22:13:44 +00:00
Bot (Assets)
50f0fe7785 Compress scripts/styles: 3.6-beta1-23960.
git-svn-id: http://core.svn.wordpress.org/trunk@23960 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-10 22:58:42 +00:00
Ryan Boren
338c2afd86 Update MediaElement.js to 2.11.0.
Props wonderboymusic
see #24015


git-svn-id: http://core.svn.wordpress.org/trunk@23958 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-10 22:38:30 +00:00
Dion Hulse
566e3764c3 Move the Mediaelement.js include into the wp-includes/js folder, rather than wp-includes directly. Fixes the mediaplayer in browsers which don't support <audio> directly.
Props DrewAPicture See #23282.


git-svn-id: http://core.svn.wordpress.org/trunk@23732 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-16 08:43:19 +00:00