]> git.parisson.com Git - mezzo.git/commitdiff
add playlist player to index
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Thu, 7 Apr 2016 10:17:35 +0000 (12:17 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Thu, 7 Apr 2016 10:17:35 +0000 (12:17 +0200)
app/festival/static/js/player.js [new file with mode: 0644]
app/festival/templates/festival/audio_playlist.html
app/festival/templatetags/festival_tags.py
app/templates/index.html

diff --git a/app/festival/static/js/player.js b/app/festival/static/js/player.js
new file mode 100644 (file)
index 0000000..5eae7bf
--- /dev/null
@@ -0,0 +1,41 @@
+
+function init_player(){
+    var audio;
+    var playlist;
+    var tracks;
+    var current;
+
+    current = 0;
+    audio = $('#audio');
+    playlist = $('#playlist');
+    tracks = playlist.find('li a');
+    len = tracks.length - 1;
+    audio[0].volume = .90;
+//    audio[0].play();
+    playlist.find('a').click(function(e){
+        e.preventDefault();
+        link = $(this);
+        current = link.parent().index();
+        run_player(link, audio[0]);
+    });
+    audio[0].addEventListener('ended',function(e){
+        current++;
+        if(current == len){
+            current = 0;
+            link = playlist.find('a')[0];
+        }else{
+            link = playlist.find('a')[current];
+        }
+        run_player($(link),audio[0]);
+    });
+}
+function run_player(link, player){
+    $(player).find('#primarysrc').attr('src', link.attr('href'));
+    $(player).find('#secondarysrc').attr('src', link.attr('data-altsrc'));
+    par = link.parent();
+    par.addClass('active').siblings().removeClass('active');
+    player.load();
+    player.play();
+}
+
+init_player();
index 073ffdaf1ed4518d3b44cb3e146e72245a720cb5..306a619e1a35409acbdac8ab1b75ab8090d2953a 100644 (file)
@@ -1,74 +1,23 @@
-<html>
-  <head>
-    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
-  </head>
-<body>
-
+{% load staticfiles %}
+{% for audio in playlist.audios.all %}
 
+{% if forloop.first %}
 <audio id="audio" preload="auto" tabindex="0" controls="" >
-  <source id="primarysrc" src="http://www.archive.org/download/bolero_69/Bolero.mp3">
-  <source id="secondarysrc" src="http://www.archive.org/download/bolero_69/Bolero.ogg">
-  Your Fallback goes here
+    <source id="primarysrc" src="{{ audio.closed_source_url }}">
+    <source id="secondarysrc" src="{{ audio.open_source_url }}">
+    {{ audio.title }}
 </audio>
-
-
 <ul id="playlist">
-        <li class="active">
-            <a href="http://www.archive.org/download/bolero_69/Bolero.mp3" data-altsrc="http://www.archive.org/download/bolero_69/Bolero.ogg">
-                Ravel Bolero
-            </a>
-        </li>
-        <li>
-            <a href="http://www.archive.org/download/MoonlightSonata_755/Beethoven-MoonlightSonata.mp3" data-altsrc="http://www.archive.org/download/MoonlightSonata_755/Beethoven-MoonlightSonata.ogg">
-                Moonlight Sonata - Beethoven
-            </a>
-        </li>
-        <li>
-            <a href="http://www.archive.org/download/CanonInD_261/CanoninD.mp3" data-altsrc="http://www.archive.org/download/CanonInD_261/CanoninD.ogg">
-                Canon in D Pachabel
-            </a>
-        </li>
-    </ul>
-<script>
-var audio;
-var playlist;
-var tracks;
-var current;
+{% endif %}
+    <li class="active">
+        <a href="{{ audio.closed_source_url }}" data-altsrc="{{ audio.open_source_url }}">
+            {{ audio.title }}
+        </a>
+    </li>
+{% endfor %}
+{% if forloop.first %}
+</ul>
+{% endif %}
 
-init();
-function init(){
-    current = 0;
-    audio = $('#audio');
-    playlist = $('#playlist');
-    tracks = playlist.find('li a');
-    len = tracks.length - 1;
-    audio[0].volume = .60;
-//    audio[0].play();
-    playlist.find('a').click(function(e){
-        e.preventDefault();
-        link = $(this);
-        current = link.parent().index();
-        run(link, audio[0]);
-    });
-    audio[0].addEventListener('ended',function(e){
-        current++;
-        if(current == len){
-            current = 0;
-            link = playlist.find('a')[0];
-        }else{
-            link = playlist.find('a')[current];
-        }
-        run($(link),audio[0]);
-    });
-}
-function run(link, player){
-    $(player).find('#primarysrc').attr('src', link.attr('href'));
-    $(player).find('#secondarysrc').attr('src', link.attr('data-altsrc'));
-    par = link.parent();
-    par.addClass('active').siblings().removeClass('active');
-    player.load();
-    player.play();
-}
-</script>
-</body>
-</html>
+<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
+<script src="{% static "js/player.js" %}"></script>
index a3c398cd636bc3d39e2b229f730064344a96659e..980d7c0c715a4390f656676108690e6ba1a8a81a 100644 (file)
@@ -37,3 +37,7 @@ def featured_artist(*args):
 @register.as_tag
 def featured_video(*args):
     return Video.objects.filter(featured=True).order_by('?').first()
+
+@register.as_tag
+def featured_playlist(*args):
+    return Playlist.objects.filter(event=None)[0]
index 806657aeeee9d5f253e77a7ad5f4aea2695436c2..ffde84c5078f3c1c035cfaf3112b0bef0384103f 100644 (file)
@@ -15,4 +15,7 @@
 {% featured_video as video %}
 {% include 'festival/inc/video_card.html' %}
 
+{% featured_playlist as playlist %}
+{% include 'festival/audio_playlist.html' %}
+
 {% endblock %}