aboutsummaryrefslogtreecommitdiffhomepage
path: root/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'main.js')
-rw-r--r--main.js130
1 files changed, 67 insertions, 63 deletions
diff --git a/main.js b/main.js
index be50fd7..8ab2fee 100644
--- a/main.js
+++ b/main.js
@@ -1,86 +1,90 @@
-function compute()
-{
+function compute() {
/* Initiate basic time variables */
- let hours = 0;
- let minutes = 0;
- let seconds = 0;
- let milliseconds = 0;
+ let h = 0;
+ let m = 0;
+ let s = 0;
+ let ms = 0;
/*
* Get framerate, start frame, and end frame from corresponding elements
* Double check they all have a value
*/
- let frameRate = parseInt(document.getElementById('framerate').value);
- let startFrame = document.getElementById('startobj').value;
- let endFrame = document.getElementById('endobj').value;
- if (typeof (startFrame) === 'undefined' || endFrame === 'undefined' || framerate === 'undefined')
+ let fps = parseInt(document.getElementById("framerate").value);
+ let sframe = document.getElementById("startobj").value;
+ let eframe = document.getElementById("endobj").value;
+
+ if (typeof (sframe) === "undefined" || typeof (eframe) === "undefined"
+ || typeof (fps) === "undefined")
return;
/* Calculate framerate */
- let frames = (endFrame - startFrame) * frameRate;
- seconds = Math.floor(frames / frameRate);
- frames = frames % frameRate;
- milliseconds = Math.round(frames / frameRate * 1000);
- if (milliseconds < 10)
- milliseconds = '00' + milliseconds;
- else if (milliseconds < 100)
- milliseconds = '0' + milliseconds;
-
- if (seconds >= 60) {
- minutes = Math.floor(seconds / 60);
- seconds = seconds % 60;
- seconds = seconds < 10 ? '0' + seconds : seconds;
+ let frames = (eframe - sframe) * fps;
+ s = Math.floor(frames / fps);
+ frames = frames % fps;
+ ms = Math.round(frames / fps * 1000);
+ if (ms < 10)
+ ms = "00" + ms;
+ else if (ms < 100)
+ ms = "0" + ms;
+
+ if (s >= 60) {
+ m = Math.floor(s / 60);
+ s = s % 60;
+ s = s < 10 ? "0" + s : s;
}
- if (minutes >= 60) {
- hours = Math.floor(minutes / 60);
- minutes = minutes % 60;
- minutes = minutes < 10 ? '0' + minutes : minutes;
+ if (m >= 60) {
+ h = Math.floor(m / 60);
+ m = m % 60;
+ m = m < 10 ? "0" + m : m;
}
/* Show the time and mod message in the DOM */
- let finalTime = hours.toString() + 'h ' + minutes.toString() + 'm ' + seconds.toString() + 's ' + milliseconds.toString() + 'ms';
- let modMessage = `Mod Note: Retimed (Start: ${parseFloat(startFrame).toFixed(3)}, End: ${parseFloat(endFrame).toFixed(3)}, FPS: ${frameRate}, Total Time: ${finalTime})`;
- document.getElementById('time').value = finalTime;
- document.getElementById('modMessage').disabled = false;
- document.getElementById('modMessage').innerText = modMessage;
- document.getElementById("modMessageButton").disabled = false;
+ let ftime =
+ h.toString() + "h " + m.toString() + "m " + s.toString() + "s " + ms.toString() + "ms";
+ let mod_message = `Mod Note: Retimed (Start: Frame ${sframe * fps}, End: ${
+ eframe * fps}, FPS: ${fps}, Total Time: ${ftime})`;
+
+ document.getElementById("time").value = ftime;
+ document.getElementById("mod_message").disabled = false;
+ document.getElementById("mod_message").innerText = mod_message;
+ document.getElementById("mod_message_button").disabled = false;
}
/* Allow user to copy mod message to clipboard */
-function copyModMessage()
-{
- const textArea = document.getElementById('modMessage');
- textArea.focus();
- textArea.select();
- document.execCommand('copy');
- alert(`The mod message has been copied to clipboard! Please paste it into the comment of the run you are verifying.`);
+function copyModMessage() {
+ const text_area = document.getElementById("mod_message");
+ text_area.focus();
+ text_area.select();
+ document.execCommand("copy");
+ alert(
+ `The mod message has been copied to clipboard! Please paste it into the comment of the run you are verifying.`);
}
/* If framerate is invalid, show an error message and disable start and end frame fields */
-const validateFPS = (event) => {
- if (event.target.value === '' || parseInt(event.target.value) <= 0 || isNaN(parseInt(event.target.value))) {
- document.getElementById('framerate').setCustomValidity('Please enter a valid framerate.');
- document.getElementById('framerate').reportValidity();
- document.getElementById('startobj').disabled = true;
- document.getElementById('endobj').disabled = true;
- document.getElementById('computeButton').disabled = true;
- } else {
- document.getElementById('startobj').disabled = false;
- document.getElementById('endobj').disabled = false;
- document.getElementById('computeButton').disabled = false;
+const check_fps =
+ (event) => {
+ if (event.target.value === "" || parseInt(event.target.value) <= 0
+ || isNaN(parseInt(event.target.value))) {
+ document.getElementById("framerate")
+ .setCustomValidity("Please enter a valid framerate.");
+ document.getElementById("framerate").reportValidity();
+ document.getElementById("startobj").disabled = true;
+ document.getElementById("endobj").disabled = true;
+ document.getElementById("computeButton").disabled = true;
+ } else {
+ document.getElementById("startobj").disabled = false;
+ document.getElementById("endobj").disabled = false;
+ document.getElementById("computeButton").disabled = false;
+ }
}
-}
-const parseForTime = (event) => {
- /* Get current frame from input field (either start time or end time) */
- let frameFromInputText = (JSON.parse(event.target.value)).lct;
- if (typeof frameFromInputText !== 'undefined') {
- /* Get the framerate */
- let frameRate = parseInt(document.getElementById('framerate').value);
- /* Calculate the frame */
- let frameFromObj = (time, fps) => Math.floor(time * fps) / fps; //round to the nearest frame
- let finalFrame = frameFromObj(frameFromInputText, frameRate);
- /* Update the DOM */
- document.getElementById(event.target.id).value = `${finalFrame}`;
+/* Get current frame from input field (either start time or end time) */
+const parse_time = (event) => {
+ let inptext_frame = (JSON.parse(event.target.value)).lct;
+ if (typeof inptext_frame !== "undefined") {
+ let fps = parseInt(document.getElementById("framerate").value);
+ let frameFromObj = (time, fps) => Math.floor(time * fps) / fps;
+ let fframe = frameFromObj(inptext_frame, fps);
+ document.getElementById(event.target.id).value = `${fframe}`;
}
}