From b7183fb4047673a303dec61505f2c41f4f5a89e4 Mon Sep 17 00:00:00 2001
From: Simen Graaten <simeng@gmail.com>
Date: Fri, 19 Feb 2016 17:31:10 +0100
Subject: [PATCH] Add preview of .mp3, .ogg and .wav links via <audio> tag.

This fixes #745
---
 js/plugins.js | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/js/plugins.js b/js/plugins.js
index 853342b..7ba506d 100644
--- a/js/plugins.js
+++ b/js/plugins.js
@@ -313,6 +313,24 @@ plugins.factory('userPlugins', function() {
         }
     });
 
+    /*
+     * audio Preview
+     */
+    var audioPlugin = new UrlPlugin('audio', function(url) {
+        if (url.match(/\.(mp3|ogg|wav)\b/i)) {
+            return function() {
+                var element = this.getElement();
+                var aelement = angular.element('<audio controls></audio>')
+                                     .addClass('embed')
+                                     .attr('width', '560')
+                                     .append(angular.element('<source></source>')
+                                                    .attr('src', url));
+                element.innerHTML = aelement.prop('outerHTML');
+            };
+        }
+    });
+
+
     /*
      * mp4 video Preview
      */
@@ -504,7 +522,7 @@ plugins.factory('userPlugins', function() {
     });
 
     return {
-        plugins: [youtubePlugin, dailymotionPlugin, allocinePlugin, imagePlugin, videoPlugin, spotifyPlugin, cloudmusicPlugin, googlemapPlugin, asciinemaPlugin, yrPlugin, gistPlugin, giphyPlugin, tweetPlugin, vinePlugin]
+        plugins: [youtubePlugin, dailymotionPlugin, allocinePlugin, imagePlugin, videoPlugin, audioPlugin, spotifyPlugin, cloudmusicPlugin, googlemapPlugin, asciinemaPlugin, yrPlugin, gistPlugin, giphyPlugin, tweetPlugin, vinePlugin]
     };