]> git.0d.be Git - panikweb.git/commitdiff
make timestamps more precise (do not rely on tick spans)
authorFrédéric Péters <fpeters@0d.be>
Thu, 10 Oct 2019 15:57:30 +0000 (17:57 +0200)
committerFrédéric Péters <fpeters@0d.be>
Mon, 6 Jan 2020 12:54:40 +0000 (13:54 +0100)
panikweb_templates/static/js/specifics.js

index 8768ea905302556d2da88a4e8cc67bd7cba04995..dbcd36e9b9119dd996916995e73bfa257c9db2db 100644 (file)
@@ -508,15 +508,17 @@ $(function() {
                                /[0-9][0-9]+:[0-9][0-9]/g,
                                function(x) { return '<span class="timestamp">' + x + "</span>"; });
                        $(text_content).find('span.timestamp').on('click', function() {
-                               var $waveform = $('div.waveform');
+                               var $waveform = $('div.waveform').first();
+                               var sound_id = $waveform.prev().data('sound-id');
                                var total_duration = parseFloat($waveform.data('duration'));
                                var nb_ticks = $waveform.find('span').length;
                                var timestamp = $(this).text().split(':');
                                var timestamp_position = timestamp[0] * 60 + timestamp[1] * 1;
                                var tick_idx = parseInt(nb_ticks * timestamp_position / total_duration);
-                               // twice to get play then set position
-                               $('span[data-tick-index=' + tick_idx + ']').trigger('click');
-                               $('span[data-tick-index=' + tick_idx + ']').trigger('click');
+                               // play, then set rough position
+                               $('.episode.detail .icon-play-sign').first().trigger('click');
+                               var matching_audio = $('audio[data-sound-id=' + sound_id + ']');
+                               matching_audio[0].currentTime = timestamp_position;
                        });
                }