initial commit

This commit is contained in:
Sawyer Andrews 2025-08-28 19:41:00 -05:00
commit 128a64a9c0
Signed by: sawyer
GPG key ID: D4B437630877389B
3 changed files with 141 additions and 0 deletions

103
script.js Normal file
View file

@ -0,0 +1,103 @@
// did this all by hand over like 3 hours
const videoChapters = [
{ start: 1.92, title: "i'm not tryna ruin your fun" },
{ start: 4.2, title: "but cook me burgers with cheese" },
{ start: 6.15, title: "oh please i'm begging you gene" },
{ start: 8.22, title: "cuz i can't rely on louise" },
{ start: 10.53, title: "no she's too mean" },
{ start: 12.22, title: "and i don't" },
{ start: 13.12, title: "care about pesto" },
{ start: 14.85, title: "no i'm not green" },
{ start: 16.71, title: "if you see me" },
{ start: 17.42, title: "out in quahog" },
{ start: 19.19, title: "say hi" },
{ start: 20.1, title: "but if you meet me at" },
{ start: 21.6, title: "the clam i'm a talkative guy" },
{ start: 24.3, title: "maybe we'll talk over beers" },
{ start: 26.2, title: "and remember the time" },
{ start: 28.17, title: "and we know even" },
{ start: 29.27, title: "at my lois" },
{ start: 30.37, title: "i'm a family guy" },
{ start: 32.25, title: "yeah a lot of white boys" },
{ start: 34.27, title: "do impressions of me" },
{ start: 36.43, title: "and you always see my" },
{ start: 37.66, title: "clips on your fyp" },
{ start: 40.1, title: "but that algorithm's" },
{ start: 41.65, title: "always tryna censor me" },
{ start: 43.95, title: "they're even worse than" },
{ start: 45.55, title: "the fellas at the FCC" },
{ start: 49.8, title: "next day i'm" },
{ start: 50.75, title: "walkin' to moe's" },
{ start: 52.1, title: "choked the boy" },
{ start: 53.15, title: "it's my fault" },
{ start: 54.15, title: "my life was comedy gold" },
{ start: 56, title: "but now it's just getting old" },
{ start: 58, title: "i look deep down" },
{ start: 59.1, title: "in my heart" },
{ start: 60, title: "know i should" },
{ start: 60.8, title: "be home with Marge" },
{ start: 62.1, title: "but work is just" },
{ start: 63.06, title: "getting hard" },
{ start: 64.15, title: "with mr. burns" },
{ start: 65.1, title: "still in charge" },
{ start: 66.1, title: "i wanna wake up and say" },
{ start: 68.1, title: "good morning USA" },
{ start: 70.05, title: "but i can't get out of bed" },
{ start: 71.95, title: "it's comfy here anyway" },
{ start: 73.95, title: "i think of" },
{ start: 74.65, title: "Hayley and Steve" },
{ start: 76, title: "what will i do" },
{ start: 76.75, title: "when they leave?" },
{ start: 77.8, title: "at least there's" },
{ start: 78.8, title: "Francine and Klaus" },
{ start: 79.87, title: "but Roger's still" },
{ start: 80.97, title: "in my house" },
{ start: 82, title: "out in quahog" },
{ start: 82.95, title: "say hi" },
{ start: 83.85, title: "but if you meet me at" },
{ start: 85.35, title: "the clam i'm a talkative guy" },
{ start: 88.2, title: "maybe we'll talk over beers" },
{ start: 90.4, title: "and remember the time" },
{ start: 92.15, title: "and we know even at my lois" },
{ start: 94.35, title: "i'm a family guy" },
{ start: 96.4, title: "yeah a lot of white boys" },
{ start: 98.42, title: "do impressions of me" },
{ start: 99.93, title: "and you always see my" },
{ start: 101.67, title: "clips on your fyp" },
{ start: 104.28, title: "but that algorithm's" },
{ start: 105.81, title: "always tryna censor me" },
{ start: 107.94, title: "they're even worse than" },
{ start: 109.62, title: "the fellas at the FCC" },
{ start: 113, title: ":)" },
];
const videoPlayer = document.getElementById("video");
const originalTitle = document.title;
function getCurrentChapterTitle(currentTime, chapters) {
for (let i = chapters.length - 1; i >= 0; i--) {
if (currentTime >= chapters[i].start) {
return chapters[i].title;
}
}
return originalTitle;
}
// i had to write the lyrics and timestamps manually because the video didn't have subtitles
videoPlayer.addEventListener("pause", () => {
console.log(`Current timestamp: ${video.currentTime.toFixed(2)}`);
});
videoPlayer.addEventListener("timeupdate", () => {
const currentTitle = getCurrentChapterTitle(
videoPlayer.currentTime,
videoChapters,
);
if (document.title !== currentTitle) {
document.title = currentTitle;
}
});
videoPlayer.addEventListener("ended", () => {
document.title = ":)";
});