diff options
Diffstat (limited to 'main.js')
| -rw-r--r-- | main.js | 57 | 
1 files changed, 53 insertions, 4 deletions
| @@ -22,15 +22,64 @@ function compute()  	const s_frame = Math.trunc(s_time * fps);  	const e_frame = Math.trunc(e_time * fps);  	const time = time_format(seconds); -	const mod_message = `Mod Note: Retimed (Start Frame: ${s_frame}, End Frame: ${ -		e_frame}, FPS: ${fps}, Total Time: ${time})`;  	document.getElementById("time").value = time;  	document.getElementById("mod_message").disabled = false; -	document.getElementById("mod_message").innerText = mod_message; +	document.getElementById("mod_message").innerText = generate_mod_message(fps, +										s_time, +										e_time, +										time, +										s_frame, +										e_frame, +										frames, +										seconds);  	document.getElementById("mod_message_button").disabled = false;  } +/* Support custom mod messages. Find a better way to do this, it is very cringe! */ +function generate_mod_message(fps, start_time, end_time, total_time, start_frame, end_frame, total_frames, total_seconds) +{ +	let mod_message = localStorage.getItem("custom_mod_message"); + +	const hours = ~~(total_seconds / 3600) +	const minutes = ~~((total_seconds % 3600) / 60); +	const seconds = Math.trunc(total_seconds % 60); +	const milliseconds = total_seconds % 60 % 1; + +	const padded_minutes = (minutes < 10) ? "0" + minutes : minutes; +	const padded_seconds = (seconds < 10) ? "0" + seconds : seconds; + +	/* TODO: THIS IS REALLY BAD CODE!! FIX THIS!! */ +	const one_prec_millis = milliseconds.toFixed(1).replace("0.", ""); +	const two_prec_millis = milliseconds.toFixed(2).replace("0.", ""); +	const three_prec_millis = milliseconds.toFixed(3).replace("0.", ""); + +	mod_message = mod_message.replaceAll("${FPS}", fps) +	.replaceAll("${H}", hours) +	.replaceAll("${M}", minutes) +	.replaceAll("${S}", seconds) +	.replaceAll("${MS}", milliseconds) + +	.replaceAll("${PM}", padded_minutes) +	.replaceAll("${PS}", padded_seconds) + +	.replaceAll("${1MS}", one_prec_millis) +	.replaceAll("${2MS}", two_prec_millis) +	.replaceAll("${3MS}", three_prec_millis) + +	.replaceAll("${TS}", total_seconds) + +	.replaceAll("${ST}", start_time) +	.replaceAll("${ET}", end_time) +	.replaceAll("${TT}", total_time) + +	.replaceAll("${SF}", start_frame) +	.replaceAll("${EF}", end_frame) +	.replaceAll("${TF}", total_frames) + +	return mod_message; +} +  /* Convert seconds to human readable time. */  function time_format(t)  { @@ -93,7 +142,7 @@ function parse_time(event)  	/* Calculate the exact timestamp */  	const fps = parseInt(document.getElementById("framerate").value); -	const frame = Math.floor(input * fps) / fps; +	const frame = ~~(input * fps) / fps;  	document.getElementById(event.target.id).value = `${frame}`;  	/* If all fields are filled the compute */ |