From af29d651b52b0e7f058df439ab4dccdd0a2a23b5 Mon Sep 17 00:00:00 2001 From: Lars Jung Date: Mon, 9 Jun 2014 00:54:41 +0200 Subject: [PATCH] Add audio preview. --- CHANGELOG.md | 1 + src/_h5ai/client/css/inc/preview-aud.less | 9 ++ src/_h5ai/client/css/styles.less | 2 + src/_h5ai/client/js/inc/ext/preview-aud.js | 122 +++++++++++++++++++++ src/_h5ai/client/js/inc/ext/preview-vid.js | 6 +- src/_h5ai/client/js/inc/ext/preview.js | 4 +- src/_h5ai/conf/options.json | 12 +- 7 files changed, 150 insertions(+), 6 deletions(-) create mode 100644 src/_h5ai/client/css/inc/preview-aud.less create mode 100644 src/_h5ai/client/js/inc/ext/preview-aud.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 71d34ae0..cd45e814 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ * adds option to hide unreadable files * adds option where to place folders (top, inplace, bottom) * adds markdown support for custom header and footer files +* adds video and audio preview via HTML5 elements (no fallback, works best in Chrome) * removes server side file manipulation extensions `dropbox`, `delete` and `rename` * fixes QR code URI origin (issue [#287](https://github.com/lrsjng/h5ai/issues/287)) * improves preview GUI diff --git a/src/_h5ai/client/css/inc/preview-aud.less b/src/_h5ai/client/css/inc/preview-aud.less new file mode 100644 index 00000000..223c2c62 --- /dev/null +++ b/src/_h5ai/client/css/inc/preview-aud.less @@ -0,0 +1,9 @@ + +#pv-aud-audio { + position: absolute; + + max-width: 100%; + max-height: 100%; + + box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.3); +} diff --git a/src/_h5ai/client/css/styles.less b/src/_h5ai/client/css/styles.less index b2fba482..73113a4b 100644 --- a/src/_h5ai/client/css/styles.less +++ b/src/_h5ai/client/css/styles.less @@ -12,8 +12,10 @@ @import "inc/tree"; @import "inc/qrcode"; @import "inc/preview"; +@import "inc/preview-aud"; @import "inc/preview-img"; @import "inc/preview-txt"; +@import "inc/preview-vid"; @import "inc/notify"; @import "inc/content"; diff --git a/src/_h5ai/client/js/inc/ext/preview-aud.js b/src/_h5ai/client/js/inc/ext/preview-aud.js new file mode 100644 index 00000000..c1a7ab57 --- /dev/null +++ b/src/_h5ai/client/js/inc/ext/preview-aud.js @@ -0,0 +1,122 @@ + +modulejs.define('ext/preview-audio', ['_', '$', 'moment', 'core/settings', 'core/event', 'ext/preview'], function (_, $, moment, allsettings, event, preview) { + + var settings = _.extend({ + enabled: false, + types: [] + }, allsettings['preview-aud']), + + preloadAudio = function (src, callback) { + + var $audio = $('