aboutsummaryrefslogtreecommitdiffhomepage
path: root/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'main.js')
-rw-r--r--main.js47
1 files changed, 24 insertions, 23 deletions
diff --git a/main.js b/main.js
index 1c33aba..5e97e7e 100644
--- a/main.js
+++ b/main.js
@@ -1,30 +1,31 @@
-function compute() {
-
- // Initiate basic time variables
+function compute()
+{
+ /* Initiate basic time variables */
let hours = 0;
let minutes = 0;
let seconds = 0;
let milliseconds = 0;
- // Get framerate, start frame, and end frame from corresponding elements
- // Double check they all have a value
+ /*
+ * 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') {
- return
- };
+ if (typeof (startFrame) === 'undefined' || endFrame === 'undefined' || framerate === 'undefined')
+ return;
- // Calculate framerate
+ /* Calculate framerate */
let frames = (endFrame - startFrame) * frameRate;
seconds = Math.floor(frames / frameRate);
frames = frames % frameRate;
milliseconds = Math.round(frames / frameRate * 1000);
- if (milliseconds < 10) {
+ if (milliseconds < 10)
milliseconds = '00' + milliseconds;
- } else if (milliseconds < 100) {
+ else if (milliseconds < 100)
milliseconds = '0' + milliseconds;
- }
+
if (seconds >= 60) {
minutes = Math.floor(seconds / 60);
seconds = seconds % 60;
@@ -36,18 +37,18 @@ function compute() {
minutes = minutes < 10 ? '0' + minutes : minutes;
}
- // Show the time and mod message in the DOM
+ /* 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 Message: Time starts at ${parseFloat(startFrame).toFixed(3)} and ends at ${parseFloat(endFrame).toFixed(3)} at ${frameRate} fps to get a final time of ${finalTime}.`;
- let credits = `Retimed using [yt-frame-timer](https://slashinfty.github.io/yt-frame-timer)`;
+ let modMessage = `Mod Note: Retimed (Start: Frame ${startFrame}, End: Frame ${endFrame}, FPS: ${frameRate}, Total Time: ${finalTime})`;
document.getElementById('time').value = finalTime;
document.getElementById('modMessage').disabled = false;
- document.getElementById('modMessage').innerText = modMessage + ' ' + credits;
+ document.getElementById('modMessage').innerText = modMessage;
document.getElementById("modMessageButton").disabled = false;
}
-function copyModMessage() {
- // Allow user to copy mod message to clipboard
+/* Allow user to copy mod message to clipboard */
+function copyModMessage()
+{
const textArea = document.getElementById('modMessage');
textArea.focus();
textArea.select();
@@ -55,8 +56,8 @@ function copyModMessage() {
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 framerate is invalid, show an error message and disable start and end frame fields
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();
@@ -71,15 +72,15 @@ const validateFPS = (event) => {
}
const parseForTime = (event) => {
- // Get current frame from input field (either start time or end time)
+ /* 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
+ /* Get the framerate */
let frameRate = parseInt(document.getElementById('framerate').value);
- // Calculate the frame
+ /* 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
+ /* Update the DOM */
document.getElementById(event.target.id).value = `${finalFrame}`;
}
}