diff options
Diffstat (limited to 'main.js')
-rw-r--r-- | main.js | 130 |
1 files changed, 67 insertions, 63 deletions
@@ -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}`; } } |