Commit Graph

57 Commits

Author SHA1 Message Date
Scott Taylor
0b157bf069 Incorporate https://github.com/johndyer/mediaelement/pull/1385 into our custom build of MediaElement 2.16.2.
Props bradyvercher.
Fixes #30281.


git-svn-id: https://develop.svn.wordpress.org/trunk@30783 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-07 23:58:46 +00:00
Scott Taylor
2ec473b538 Monkey-patch MediaElement to restore H264 support to Chromium.
Documented here:
https://core.trac.wordpress.org/ticket/30281#comment:9

See #30281.


git-svn-id: https://develop.svn.wordpress.org/trunk@30736 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-04 00:58:13 +00:00
Scott Taylor
6d7bbcbc04 Upgrade to MediaElement 2.16.2
https://github.com/johndyer/mediaelement/compare/2.15.1...2.16.2

Fixes #30281.


git-svn-id: https://develop.svn.wordpress.org/trunk@30634 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 05:57:25 +00:00
Scott Taylor
5569f01459 Allow developers to override the settings.success callback for MediaElement players.
Props nofearinc.
Fixes #30029.


git-svn-id: https://develop.svn.wordpress.org/trunk@30083 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-29 01:20:03 +00:00
Scott Taylor
e6bbbb3db9 Don't hardcode height for videos - this was a workaround for MediaElement internals causing problems. Responsive videos now work properly and don't cause extra whitespace.
Fixes MediaElement by hand in the interim: https://github.com/johndyer/mediaelement/pull/1337
Video playlists were completely broken by this.

Fixes #30078.



git-svn-id: https://develop.svn.wordpress.org/trunk@30082 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-29 00:46:15 +00:00
Scott Taylor
a7ea80e70b Remember when we added the style attribute to playlists? Fix dark.
Props karpstrucking.
Fixes #29530.


git-svn-id: https://develop.svn.wordpress.org/trunk@29814 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-02 05:27:18 +00:00
Scott Taylor
1930d0940e Upgrade MediaElement to 2.15.1.
Changes from 2.15.0:
https://github.com/johndyer/mediaelement/compare/2.15.0...2.15.1

Continues to revert upstream commit b7f82b4 to restore the status quo for Chromium support.

See [29688].
Fixes #29620 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@29733 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-11 17:43:05 +00:00
Andrew Nacin
c40dad4a5a MediaElement: Revert upstream commit b7f82b4 to restore the status quo for Chromium support.
fixes #29110.


git-svn-id: https://develop.svn.wordpress.org/trunk@29688 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-03 06:31:27 +00:00
Andrew Ozz
4e846f9af7 Media: add a class to the <script> tag for the JSON encoded playlist data so it can be easily selected in WPPlaylistView. Props SergeyBiryukov, fixes #29383
git-svn-id: https://develop.svn.wordpress.org/trunk@29660 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-01 19:54:44 +00:00
Scott Taylor
c88c4d4f21 MCE View sandboxes:
* Use a `MutationObserver` to listen to the `body` class of the parent editor frame.
* In `wpview_media_sandbox_styles()`, only return the MEjs stylesheets.
* In `wp_ajax_parse_media_shortcode()` and `wp_ajax_parse_embed()`, return an object instead of an HTML blob to allow passing `body` and `head` separately	

Props avryl, azaozz.
Fixes #29048.


git-svn-id: https://develop.svn.wordpress.org/trunk@29615 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-26 04:45:54 +00:00
Scott Taylor
097147c9b6 After [29543], the iframe sandboxes for media need to load Open Sans. Playlists look aggressively bad without it. Adds font styles for the body.
See #29048.


git-svn-id: https://develop.svn.wordpress.org/trunk@29564 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-21 03:35:11 +00:00
Scott Taylor
e23c1ae3ff Upgrade MediaElement to 2.15.0:
* It is required to set `height` on the parent `.wp-video` wrapper for video
* Fixes the play button hover problem in Chrome
* Includes my pull request: https://github.com/johndyer/mediaelement/pull/1273

All changes:
https://github.com/johndyer/mediaelement/compare/2.14.2...master

See #29110.


git-svn-id: https://develop.svn.wordpress.org/trunk@29457 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-09 20:43:25 +00:00
Scott Taylor
45368dbfaa Video:
* Don't set height on responsive `<div>` when generating markup
* Move some CSS rules from the style tag to `.wp-video`
* Use Video Details view event delegation instead of click events delegated from `<body>`
* Fix some CSS rule collision in the grid modal

See #29110.


git-svn-id: https://develop.svn.wordpress.org/trunk@29456 602fd350-edb4-49c9-b593-d223f7449a82
2014-08-09 19:38:40 +00:00
Scott Taylor
15aaf0691a After [29179], remove the last instance of this.isCompatibleSrc().
Props kovshenin.
See #28905.



git-svn-id: https://develop.svn.wordpress.org/trunk@29277 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-23 17:53:07 +00:00
Scott Taylor
f071e710c2 Cleanup after [29179]:
* Cleanup players when the editor is hidden - window scope is unique to each frame
* Add the editor body class to each iframe sandbox
* Remove unneeded code from `wp-mediaelement.js`

See #28905.


git-svn-id: https://develop.svn.wordpress.org/trunk@29189 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-16 16:13:47 +00:00
Scott Taylor
cba1ae06af Simplify creation of audio, video, and playlist MCE views by placing them in iframe sandboxes.
Wins:
* Eliminates duplication of code between PHP and JS
* Views can load JS without messing with TinyMCE and scope
* MEjs doesn't break when it loads a file plugin-mode. This allows any file type the MEjs supports to play in MCE views.
* YouTube now works as the source for video.
* Users can still style the views, editor stylesheets are included in these sandboxes.
* Audio and Video URLs and `[embed]`s are no longer broken.
* Remove the crazy compat code necessary to determine what file types play in what browser.
* Remove unneeded Underscore templates.
* Remove the compat code for playlists.

See #28905.


git-svn-id: https://develop.svn.wordpress.org/trunk@29179 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-15 22:17:58 +00:00
Scott Taylor
ce8a35edd1 Make sure the audio player's time tooltip is visible in the media modal for Audio Details.
Fixes #28453.



git-svn-id: https://develop.svn.wordpress.org/trunk@28863 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-26 20:28:12 +00:00
Scott Taylor
174af6cca4 In the spirit of [27622], add a few CSS rules to ensure that videos will be responsive, regardless of theme.
Props Funkatronic.
Fixes #28414.


git-svn-id: https://develop.svn.wordpress.org/trunk@28650 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-02 00:39:47 +00:00
Scott Taylor
58690d7b97 In WPPlaylistView::ended(), at the end of a playlist, set the index to 0 and call ->setCurrent() instead of ->loadCurrent() so that the first track is properly highlighted.
Fixes #28428.


git-svn-id: https://develop.svn.wordpress.org/trunk@28649 602fd350-edb4-49c9-b593-d223f7449a82
2014-06-02 00:26:24 +00:00
Scott Taylor
e8b8e881b2 Allow users to set overrides for MediaElement instances by always passing _wpmejsSettings instead of just _wpmejsSettings.pluginPath.
Props Otto42 for the initial patch.
Fixes #25243.



git-svn-id: https://develop.svn.wordpress.org/trunk@28370 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-11 06:24:58 +00:00
Scott Taylor
4826c12c47 Update the default (WP-defined) styles for MediaElement players to be more in-line with our flat aesthetic. Use the new official colors.
Props celloexpressions.
Fixes #27516.



git-svn-id: https://develop.svn.wordpress.org/trunk@28365 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-11 02:22:42 +00:00
Scott Taylor
487da46928 Support loop for [audio] and [video] shortcodes that specify files that are played using MediaElement's Flash plugin bridge.
Fixes #27368.



git-svn-id: https://develop.svn.wordpress.org/trunk@28363 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-11 01:27:29 +00:00
Scott Taylor
8998c015b3 MediaElement players need clear: both to play nice with adjacent floated elements.
Fixes #27385.



git-svn-id: https://develop.svn.wordpress.org/trunk@28361 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-11 00:13:49 +00:00
Scott Taylor
77c156631a Alter the layout of the checkboxes in the modal view for Audio/Video Details to allow translations more room to breathe.
See #27893.



git-svn-id: https://develop.svn.wordpress.org/trunk@28184 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-22 20:28:35 +00:00
Scott Taylor
99ca08fb55 Add calc() rules for max-width of playlist caption.
Props celloexpressions.
See #27923.



git-svn-id: https://develop.svn.wordpress.org/trunk@28174 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-20 05:09:47 +00:00
Scott Taylor
a39eb76bc5 Support RTL properly when displaying playlists.
Props SergeyBiryukov.
See #27924.



git-svn-id: https://develop.svn.wordpress.org/trunk@28173 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-20 04:26:59 +00:00
Scott Taylor
22c3cc1fec Properly account for text overflow in .wp-playlist-caption by adding display: block.
Props celloexpressions.
See #27923.



git-svn-id: https://develop.svn.wordpress.org/trunk@28172 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-20 04:24:53 +00:00
Scott Taylor
47d8ce50b0 Add a compatibility layer in wp-playlist.js to avoid VM errors from MediaElement's plugin bridge in the TinyMCE views for playlists by suppressing playback for files whose mime-type is not supported in the user's browser natively.
This is similar to how audio and video shortcodes are handled: file types are whitelisted for native playback.

See #27892.



git-svn-id: https://develop.svn.wordpress.org/trunk@28171 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-20 03:52:57 +00:00
Scott Taylor
6ccd360ff4 Don't set the poster image for videos in a playlist if the image is the video mime-type icon blown up.
See #27892.



git-svn-id: https://develop.svn.wordpress.org/trunk@28158 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-18 17:38:53 +00:00
Andrew Nacin
bd9e4f4f30 Final about page.
props melchoyce, helen, wonderboymusic, nacin, and the illustrious Michael Pick.
fixes #27713, #27837.


git-svn-id: https://develop.svn.wordpress.org/trunk@28150 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-16 17:39:18 +00:00
Scott Taylor
824830ca01 Bump MediaElement.js to 2.14.2. Release Notes: 743f446523.
Fixes #27582.



git-svn-id: https://develop.svn.wordpress.org/trunk@28068 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-10 21:31:24 +00:00
Scott Taylor
0d6acf5b5b Make playlist tracks keyboard-accessible.
Fixes #27644.



git-svn-id: https://develop.svn.wordpress.org/trunk@28023 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-07 22:27:06 +00:00
Scott Taylor
b1122743c8 Call MediaElement's shim method for setSrc() when dynamically updating the playing source in playlists, which will properly set the source for mobile.
Make the labels for playlist items slightly smaller to account for size on mobile.

Fixes #27625.



git-svn-id: https://develop.svn.wordpress.org/trunk@27895 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-01 19:03:24 +00:00
Scott Taylor
13a0532006 Make <audio> elements in playlists responsive.
See #27625.



git-svn-id: https://develop.svn.wordpress.org/trunk@27894 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-01 18:46:18 +00:00
Scott Taylor
9771a5aa78 Re-instantiate the MediaElementPlayer instance when switching mime types in playlists.
Fixes #27608.



git-svn-id: https://develop.svn.wordpress.org/trunk@27871 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-31 15:34:23 +00:00
Scott Taylor
35306513dc Using percentages for playlist font-sizing was ambitious, but fell prey to editor-style.css in the admin. We have switched to using pixels. The editor styles were also forcing MediaElement players to inherit font-family, which was undesirable. And while we're at it, remove the top and bottom border from the playlist's list of tracks, which adds a dash of lovely to the playlist's default styles.
Props nacin for the addition of `&mdash;` in the playlist track list.
Fixes #27600.



git-svn-id: https://develop.svn.wordpress.org/trunk@27865 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-30 22:11:46 +00:00
Scott Taylor
a9d54abfed MEjs has been fixed upstream: 1a75559c9d
No more infinite loop.

This restores MediaElement to a clean build: `2.14.0`.

Fixes #27582. 
Thanks to jeremyfelt for tracking this down.



git-svn-id: https://develop.svn.wordpress.org/trunk@27861 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-30 17:50:08 +00:00
Scott Taylor
238459a604 Revert mediaelement-and-player.min.js to a usable build that doesn't cause an infinite loop. Still 2.14.0, minus the offending pull request: a7f67b7180
Reported upstream. `2.14.0` is necessary for playing `m4a` files properly. `2.14.0` with the offending pull request is unusable in Chrome.

See #27582.



git-svn-id: https://develop.svn.wordpress.org/trunk@27853 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-29 21:35:58 +00:00
Scott Taylor
d658762063 Updated 2.14.0 build from the project maintainer.
See #27570.



git-svn-id: https://develop.svn.wordpress.org/trunk@27829 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 21:43:58 +00:00
Scott Taylor
559cad0fb0 Bump to 2.14.0 - fixes issues related to m4a files.
Fixes #27570.



git-svn-id: https://develop.svn.wordpress.org/trunk@27811 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 12:34:05 +00:00
Helen Hou-Sandi
706b608000 Set baseline colors for the light playlist skin. props kwight. fixes #27562.
git-svn-id: https://develop.svn.wordpress.org/trunk@27805 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 03:37:08 +00:00
Scott Taylor
9384ee1bf3 There is no more video-playlist shortcode. To use video, it is now [playlist type="video" ....]. Also deleting core playlist styles. The style attribute is still supported, defaulting to light. Our core style support was 4-5 CSS rules.
See #27552. Leaving open for comments and potential bugs.



git-svn-id: https://develop.svn.wordpress.org/trunk@27785 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-27 17:57:30 +00:00
Scott Taylor
befc57bc7c Make the CSS selector for current playlist item <img> more specific so the width is properly constrained.
Hide the `<audio>` element in the playlist to prevent a flicker when loading - MEjs hides the audio element anyway.

See #27525.



git-svn-id: https://develop.svn.wordpress.org/trunk@27742 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-26 16:50:52 +00:00
Scott Taylor
5c0f7ae4fb 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@27640 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-20 13:33:00 +00:00
Scott Taylor
54c541cfc6 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@27608 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-19 05:30:27 +00:00
Scott Taylor
86722dfaaa 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@27534 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-14 12:33:24 +00:00
Scott Taylor
7770275918 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@27489 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-10 00:14:42 +00:00
Scott Taylor
d39e5ecafd 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@27481 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 10:31:36 +00:00
Scott Taylor
29e2d9f66a 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@27480 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 06:23:18 +00:00
Scott Taylor
3c8d2a99f2 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@27478 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-09 05:24:10 +00:00