diff --git a/boards/models/attachment/viewers.py b/boards/models/attachment/viewers.py --- a/boards/models/attachment/viewers.py +++ b/boards/models/attachment/viewers.py @@ -29,6 +29,7 @@ FILE_TYPES_AUDIO = ( 'ogg', 'mp3', 'opus', + 'flac', ) FILE_TYPES_IMAGE = ( 'jpeg', @@ -65,7 +66,7 @@ ABSTRACT_FORMAT_VIEW = ''\ ''\ '' VIDEO_FORMAT_VIEW = '' -AUDIO_FORMAT_VIEW = '' +AUDIO_FORMAT_VIEW = '' IMAGE_FORMAT_VIEW = '' \ ' * { + position: absolute; +} + +div.ambiplayer, .ambiplayer-background { + width: 200px; + height: 131px; +} + +.ambiplayer-background { + filter: brightness(.6); +} + +.ambiplayer-input-playpause { + background: #333; + width: 50px; + height: 50px; + border-radius: 25px; + top: calc(50% - 25px); + left: calc(50% - 25px); + border: 1px solid #ffd37d; + cursor: pointer; + opacity: .75; +} + +.ambiplayer-input-playpause:before, .ambiplayer-input-playpause:after { + content: ""; + color: #ffd37d; + position: absolute; + display: block; + transition: border-width .1s ease, width .5s ease, height .5s ease; +} + +.ambiplayer-input-playpause.ambiplayer-state-play:before, .ambiplayer-input-playpause.ambiplayer-state-play:after { + width: 6px; + height: 19px; + background-color: #ffd37d; + top: 14px; +} + +.ambiplayer-input-playpause.ambiplayer-state-play:before { + left: 15px; +} + +.ambiplayer-input-playpause.ambiplayer-state-play:after { + left: 27px; +} + +.ambiplayer-input-playpause.ambiplayer-state-pause:before { + left: 18px; + border-style: solid; + border-color: transparent; + border-width: 13px 18px; + border-left-color: #ffd37d; + top: 11px; + background: transparent; +} + +.ambiplayer-input-playpause.ambiplayer-state-pause:before, .ambiplayer-input-playpause.ambiplayer-state-pause:after { + width: 0px; + height: 0px; +} + +.ambiplayer-input-volume { + transform: rotateZ(270deg); + width: 80px; + left: -15px; + top: 50px; +} + +.ambiplayer-input-track { + width: 100px; + left: 50px; + bottom: calc(1em - 3px); +} + +.ambiplayer-input-volume, .ambiplayer-input-track { + background: #333; + opacity: .75; + cursor: pointer; + height: 7px; + -webkit-appearance: none; + appearance: none; + border: 0; +} + +.ambiplayer-input-volume::-webkit-progress-bar, .ambiplayer-input-track::-webkit-progress-bar { + background: #333; +} + +.ambiplayer-input-volume:hover, .ambiplayer-input-track:hover, .ambiplayer-input-playpause:hover { + opacity: 1; +} + +.ambiplayer-input-volume::-webkit-progress-value, .ambiplayer-input-track::-webkit-progress-value { + background-color: #ffd37d; +} + +.ambiplayer-input-volume::-moz-progress-bar, .ambiplayer-input-track::-moz-progress-bar { + background-color: #ffd37d; +} + +.ambiplayer-input-volume::-ms-fill, .ambiplayer-input-track::-ms-fill { + background-color: #ffd37d; +} + +.ambiplayer-output-currenttime { + left: .5em; +} + +.ambiplayer-output-duration { + right: .5em; +} + +.ambiplayer > output { + bottom: .5em; + background-color: #333; + color: #ffd37d; + padding: 2px; + border-radius: 3px; +} diff --git a/boards/static/images/fileformats/flac.png b/boards/static/images/fileformats/flac.png new file mode 100644 index 0000000000000000000000000000000000000000..dcbd8b74d3b9aa98085a7655cdc1dd69aa940622 GIT binary patch literal 30349 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≤jtzoRFY~bq+X7gpKdT+FH?&ZM;2!J!Mj&bVSo=5 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 diff --git a/boards/static/images/fileformats/mp3.png b/boards/static/images/fileformats/mp3.png new file mode 100644 index 0000000000000000000000000000000000000000..853594af4c16304eb9d5dab07d59062509363757 GIT binary patch literal 35402 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 KMNUMnLSTaQhVo?q diff --git a/boards/static/images/fileformats/ogg.png b/boards/static/images/fileformats/ogg.png new file mode 100644 index 0000000000000000000000000000000000000000..5bb8e9f275e358c05e4f0c6efa66b6d28a4264ec GIT binary patch literal 35407 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 P00000NkvXXu0mjf@y+;` diff --git a/boards/static/js/3party/ambiplayer.js b/boards/static/js/3party/ambiplayer.js new file mode 100755 --- /dev/null +++ b/boards/static/js/3party/ambiplayer.js @@ -0,0 +1,145 @@ +var ambiplayer_init_hook = function() { + $('audio.ambiplayer').each(function() { + $(this).data('ambiplayer-instance', new Ambiplayer(this)); + }) +} + +var ambiplayer_delete_hook = function(node) { + $('.ambiplayer audio', node).each(function() { + $(this).data('ambiplayer-instance').destroy(); + }); +} + +var _AMBIPLAYER_HTML_TEMPLATE = + '
'+ + '
'+ + ' '+ + ' '+ + ' 0:00'+ + ' '+ + ' 0:00'+ + '
'; + +var _timeformatter = function(seconds) { + var minutes = (seconds / 60)|0; + seconds = (seconds % 60)|0; + return minutes + ':' + (seconds < 10 ? '0' : '') + seconds; +} + +var ambiplayer_ctx; + +var Ambiplayer = function(audioNode) { + var mediaNode = new Audio(audioNode.src); + this.$audioNode = $(audioNode); + this._state = 'pause'; + + this.destroy = function() { + mediaNode.pause(); + } + + this.$playerNode = $(_AMBIPLAYER_HTML_TEMPLATE); + + audioNode.parentNode.replaceChild(this.$playerNode.get(0), audioNode); + this.$playerNode.get(0).appendChild(audioNode); + this.$audioNode.removeClass('ambiplayer').hide(); + + this.$background = $('.ambiplayer-background', this.$playerNode); + this.$playPauseButton = $('.ambiplayer-input-playpause', this.$playerNode); + this.$volumeControl = $('.ambiplayer-input-volume', this.$playerNode); + this.$trackControl = $('.ambiplayer-input-track', this.$playerNode); + this.$outputCurrentTime = $('.ambiplayer-output-currenttime', this.$playerNode); + this.$outputDuration = $('.ambiplayer-output-duration', this.$playerNode); + + this.$background.css('background-image', 'url('+this.$audioNode.data('bgimage')+')'); + + var playpause_state_hook = function() { + if (this._state == 'pause') { + this.$playPauseButton.removeClass('ambiplayer-state-play').addClass('ambiplayer-state-pause'); + } else { + this.$playPauseButton.removeClass('ambiplayer-state-pause').addClass('ambiplayer-state-play'); + } + }.bind(this); + var audionode_state_hook = function() { + if (this._state == 'pause') { + mediaNode.pause(); + } else { + mediaNode.play(); + } + }.bind(this); + + this.$volumeControl.attr({ + min: 0, + max: 1, + step: 0.01 + }).val(mediaNode.volume); + + this.$trackControl.attr({ + min: 0, + max: 1, + step: 0.001 + }).val(0); + + this.$playPauseButton.on('click', function(e) { + this._state = this._state == 'play' ? 'pause' : 'play'; + playpause_state_hook(); + audionode_state_hook(); + return false; + }.bind(this)); + this.$volumeControl.on('click', function(e) { + var $this = $(this); + mediaNode.volume = 1 - (e.pageY - $this.offset().top) / $this.width(); + $this.val(mediaNode.volume); + }); + this.$trackControl.on('click', function(e) { + var $this = $(this); + mediaNode.currentTime = mediaNode.duration * (e.pageX - $this.offset().left) / $this.width(); + }); + + mediaNode.addEventListener('canplay', function() { + this.$outputDuration.val(_timeformatter(mediaNode.duration)); + }.bind(this)); + mediaNode.addEventListener('timeupdate', function() { + this.$trackControl.val(mediaNode.currentTime/mediaNode.duration); + this.$outputCurrentTime.val(_timeformatter(mediaNode.currentTime)); + }.bind(this)); + mediaNode.addEventListener('ended', function(e) { + this._state = 'pause'; + playpause_state_hook(); + audionode_state_hook(); + }.bind(this)); + + if (!ambiplayer_ctx) { + ambiplayer_ctx = new AudioContext(); + } + var source = ambiplayer_ctx.createMediaElementSource(mediaNode); + var analyser = ambiplayer_ctx.createAnalyser(); + + source.connect(analyser); + analyser.connect(ambiplayer_ctx.destination); + + var frequencyBuffer = new Uint8Array(analyser.frequencyBinCount); + var prevAver = 0; + + var ambilight_update = function() { + requestAnimationFrame(ambilight_update); + analyser.getByteFrequencyData(frequencyBuffer); + + var aver = 0; + for (var i=0; i=5) { + this.$playPauseButton.css('box-shadow', '#ffd37d 0 0 30px ' + (aver/5 |0) + 'px'); + prevAver = aver; + } + }.bind(this) + ambilight_update(); +} + +$(function() { + if (AudioContext) { + ambiplayer_init_hook(); + } +}) diff --git a/boards/static/js/refpopup.js b/boards/static/js/refpopup.js --- a/boards/static/js/refpopup.js +++ b/boards/static/js/refpopup.js @@ -10,7 +10,10 @@ function $x(path, root) { } function $del(el) { - if(el) el.parentNode.removeChild(el); + if (el) { + ambiplayer_delete_hook && ambiplayer_delete_hook(el); + el.parentNode.removeChild(el); + } } function $each(list, fn) { @@ -22,6 +25,9 @@ function $each(list, fn) { function mkPreview(cln, html) { cln.innerHTML = html; + setTimeout(function() { + ambiplayer_init_hook && ambiplayer_init_hook(); + }, 0); addScriptsToPost($(cln)); } @@ -78,7 +84,7 @@ function showPostPreview(e) { if (post.length > 0) { // If post is on the same page but not visible, generate preview from it - var postClone = post.clone(); + var postClone = post.clone(true); postClone.removeAttr('style'); var postdata = postClone.wrap("
").parent().html(); diff --git a/boards/static/js/thread.js b/boards/static/js/thread.js --- a/boards/static/js/thread.js +++ b/boards/static/js/thread.js @@ -118,7 +118,8 @@ function scrollToBottom() { } function showQuoteButton() { - var selection = window.getSelection().getRangeAt(0).getBoundingClientRect(); + var windowSelection = window.getSelection(); + var selection = windowSelection.rangeCount && windowSelection.getRangeAt(0).getBoundingClientRect(); var quoteButton = $("#quote-button"); if (selection.width > 0) { // quoteButton.offset({ top: selection.top - selection.height, left: selection.left }); diff --git a/boards/static/js/thread_update.js b/boards/static/js/thread_update.js --- a/boards/static/js/thread_update.js +++ b/boards/static/js/thread_update.js @@ -151,6 +151,10 @@ function updatePost(postHtml) { processNewPost(post); + setTimeout(function() { + ambiplayer_init_hook && ambiplayer_init_hook(); + }, 0); + return type; } diff --git a/boards/templates/boards/base.html b/boards/templates/boards/base.html --- a/boards/templates/boards/base.html +++ b/boards/templates/boards/base.html @@ -10,6 +10,7 @@ + {% if rss_url %} @@ -71,6 +72,7 @@ +