player.js: Remove parsing

Also init the YouTube player as soon as possible
This commit is contained in:
Matt Mascarenhas 2017-05-16 22:33:22 +01:00
parent 6d812975b2
commit 6d3c2ea785
2 changed files with 6 additions and 90 deletions

View File

@ -3,12 +3,15 @@
<meta charset="UTF-8">
<!-- Load the player -->
<script type="text/javascript" src="player.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" type="text/css" href="riscy.css">
<link rel="stylesheet" type="text/css" href="topics.css">
<script type="text/javascript" src="player.js"></script>
</head>
<body>
<script>
Player.initializeYoutube(function() {});
</script>
<div class="title riscy">
<span class="episode_name">Coloured Nicks</span>
<div class="menu">
@ -214,7 +217,8 @@ for (var i = 0; i < refTimecodes.length; ++i) {
NOTE(matt): The filter system will need to know whether we are inclusive or exclusive, which it gets / sets from that classList
*/
var filterModeElement = document.querySelector(".filter_mode");
var filter = document.querySelector(".filter");
var filterModeElement = filter.querySelector(".filter_mode");
var filterMode = filterModeElement.classList[1];
filterModeElement.addEventListener("click", function(ev) {
if(filterMode == "inclusive")

View File

@ -139,94 +139,6 @@ Player.prototype.resume = function() {
}
}
Player.createHTMLSkeleton = function(videoId, markers) {
};
// timestamp can be either an int (number of seconds from beginning of the video) or a string ([hh:][mm:]ss)
Player.createHTMLMarker = function(timestamp, text, ref) {
if (typeof(timestamp) == "string") {
var timeParts = timestamp.split(":");
var hours = (timeParts.length == 3 ? parseInt(timeParts[0], 10) : 0);
var minutes = (timeParts.length > 1 ? parseInt(timeParts[timeParts.length-2], 10) : 0);
var seconds = parseInt(timeParts[timeParts.length-1], 10);
timestamp = hours * 60 * 60 + minutes * 60 + seconds;
}
var marker = document.createElement("DIV");
marker.classList.add("marker");
marker.setAttribute("data-timestamp", timestamp);
if (ref !== undefined && ref !== null) {
marker.setAttribute("data-ref", ref);
}
var content = document.createElement("DIV");
content.classList.add("content");
var markerTime = "(";
var hours = Math.floor(timestamp / 60 / 60);
var minutes = Math.floor(timestamp / 60) % 60;
var seconds = timestamp % 60;
if (hours > 0) {
markerTime += (hours < 10 ? "0" + hours : hours) + ":";
}
markerTime += (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds) + ")";
content.textContent = markerTime + " " + text;
marker.appendChild(content);
var fadedProgress = document.createElement("DIV");
fadedProgress.classList.add("progress");
fadedProgress.classList.add("faded");
fadedProgress.appendChild(content.cloneNode(true));
marker.appendChild(fadedProgress);
var progress = document.createElement("DIV");
progress.classList.add("progress");
progress.classList.add("main");
progress.appendChild(content.cloneNode(true));
marker.appendChild(progress);
return marker;
};
Player.parseHMHAnnotation = function(text) {
var annotation = {
title: null,
videoId: null,
author: null,
markers: []
};
var lines = text.split("\n");
var mode = "none";
for (var i = 0; i < lines.length; ++i) {
var line = lines[i];
if (line == "---") {
mode = "none";
} else if (line.startsWith("title:")) {
annotation.title = line.slice(7).replace(/"/g, "");
} else if (line.startsWith("videoId:")) {
annotation.videoId = line.slice(9).replace(/"/g, "");
} else if (line.startsWith("author:")) {
annotation.author = line.slice(8).replace(/"/g, ""); // Miblo, where's the author field?
} else if (line.startsWith("markers")) {
mode = "markers";
} else if (mode == "markers") {
var match = line.match(/"((\d+):)?(\d+):(\d+)": "(.+)"/);
var marker = {
timestamp: (match[2] ? parseInt(match[2], 10) : 0) * 60 * 60 + parseInt(match[3], 10) * 60 + parseInt(match[4], 10),
text: match[5].replace(/\\"/g, "\"")
}
annotation.markers.push(marker);
}
}
return annotation;
};
Player.parseAnnotation = function(text) {
};
Player.initializeYoutube = function(callback) {
if (window.APYoutubeAPIReady === undefined) {
window.APYoutubeAPIReady = false;