]> git.parisson.com Git - mezzo.git/commitdiff
add playlist and player
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Fri, 8 Apr 2016 12:20:18 +0000 (14:20 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Fri, 8 Apr 2016 12:20:18 +0000 (14:20 +0200)
app/festival/static/js/player.js [new file with mode: 0644]
app/festival/templates/festival/inc/audio_playlist.html

diff --git a/app/festival/static/js/player.js b/app/festival/static/js/player.js
new file mode 100644 (file)
index 0000000..ea10e00
--- /dev/null
@@ -0,0 +1,44 @@
+ /**
+  * Audio player
+  */
+
+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 b70167645d1b2fa6ed6a3a23bfce0460a2174923..4a27ae9beed324cc8b821b435f8a3497ef75ffc7 100644 (file)
@@ -2,13 +2,22 @@
 
 {% for audio in playlist.audios.all %}
 {% if forloop.first %}
-<p>{{ audio.title }}</p>
-<audio id="audio" preload="auto" tabindex="0" controls="" >
+<audio id="audio" preload="auto" tabindex="0" controls="">
     <source id="primarysrc" src="{{ audio.closed_source_url }}">
     <source id="secondarysrc" src="{{ audio.open_source_url }}">
     {{ audio.title }}
 </audio>
+<ul id="playlist">
 {% 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 %}
+
+<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
+<script src="{% static "js/player.js" %}"></script>