setTimestamp($expires); $dateTime->setTimezone(new DateTimeZone('GMT')); $format = 'D, d M Y H:i:s e'; $expiresText = $dateTime->format($format); header("Set-Cookie: $key=$value; expires=$expiresText; SameSite=Lax", false); } function updateFromPost($postKey) { if (isset($_POST[$postKey])) updateCookie($postKey, $_POST[$postKey]); } updateFromPost("ytcontrols"); // Set up setting variables based on POST, cookie, or default value. function getFromPostOrCookie($postKey, $default) { if (!isset($_POST[$postKey])) { if (isset($_COOKIE[$postKey])) return $_COOKIE[$postKey]; else return $default; } else return $_POST[$postKey]; } $useYTControls = getFromPostOrCookie("ytcontrols", 0); function add($nickname, $engtitleA, $jpntitleA, $artistA, $singerA, $descriptionA, $youtubeA, $subfileA, $fontmapA = "", $delayA = 0, $videowidthA = 0, $videoheightA = 0, $hidden = "") { global $found, $songname, $engtitle, $jpntitle, $artist, $singer, $description, $youtube, $subfile, $fontmap, $delay, $videowidth, $videoheight, $songlist, $lb, $dlb, $stdtab; if ($found) return; if ($nickname == $songname) // If nickname matches GET name, go with this song. { $found = 1; $engtitle = $engtitleA; $jpntitle = $jpntitleA; $artist = $artistA; $singer = $singerA; $description = "

" . str_replace("\n", "

", $descriptionA) . "

"; $youtube = $youtubeA; $subfile = $subfileA; $fontmap = $fontmapA; $delay = $delayA; $videowidth = $videowidthA; $videoheight = $videoheightA; } else if ($songname == "" && $hidden != "hidden") // If on song list page, add this song to the list unless it's a hidden one. { if ($engtitleA != $jpntitleA) $combinedtitle = "$engtitleA ($jpntitleA)"; else $combinedtitle = "$engtitleA"; $artistnote = $artistA != $singerA? " (by $artistA)" : ""; $songlist .= ($songlist != ""? $stdtab : "") . "

$singerA - $combinedtitle$artistnote

$dlb"; } } $lb = " "; $tab = " "; $stdtab = $tab . $tab; $stdtab2 = $stdtab . $tab; $stdtab3 = $stdtab2 . $tab; $dlb = $lb . $stdtab . $lb; $dlb2 = $lb . $stdtab2 . $lb; $songname = $_GET["song"]; $songlist = ""; $found = 0; $engtitle = ""; $jpntitle = ""; $artist = ""; $singer = ""; $description = ""; $youtube = ""; $subfile = ""; $fontmap = ""; $delay = 0; add("irisout", "IRIS OUT", "IRIS OUT", "Kenshi Yonezu", "Kenshi Yonezu", "Darling, darling...\nThe theme song for the Chainsaw Man: Reze Arc movie.", "LmZD-TU96q4", "IrisOutSubs"); add("bowandarrow", "BOW AND ARROW", "BOW AND ARROW", "Kenshi Yonezu", "Kenshi Yonezu", "I let my hand go...\nThe opening theme for the Medalist anime.\nAn alternate video featuring just Yuzuru Hanyu's performance can be seen here.", "M-Eyhjkepy0", "BowAndArrowSubs"); add("plazma", "Plazma", "Plazma", "Kenshi Yonezu", "Kenshi Yonezu", "Plasma tearing through all it sees.\nThe theme song for the series Mobile Suit Gundam GQuuuuuuX and its movie (-Beginning-).", "fp3F6TqBsAU", "PlazmaSubs"); add("kenshiazalea", "Azalea", "Azalea", "Kenshi Yonezu", "Kenshi Yonezu", "I've always loved you...\nThe theme song for the series Beyond Goodbye.", "FqWBQv7h_3I", "KenshiAzaleaSubs"); add("donuthole", "Donut Hole", "ドーナツホール", "Hachi", "Gumi", "I'm still telling you I can't eat around it...\nA new music video by Production I.G for Hachi's 2013 Vocaloid song.", "y7fu_nNQAEQ", "DonutHole2024Subs"); add("kenshijunk", "Junk", "がらくた", "Kenshi Yonezu", "Kenshi Yonezu", "We're two pieces of junk.\nTrack 15 from Kenshi Yonezu's sixth album, LOST CORNER, and theme song for the movie Last Mile.", "2mUC91bXt60", "KenshiJunkSubs"); add("redout", "RED OUT", "RED OUT", "Kenshi Yonezu", "Kenshi Yonezu", "And when I wake up, I realize it's a nightmare.\n(WARNING: Video features numerous scenes with rapidly-flashing lights.)\nTrack 1 from Kenshi Yonezu's sixth album, LOST CORNER.", "mKYpA1-5NNs", "RedOutSubs"); add("kenshimainichi", "Every Day", "毎日", "Kenshi Yonezu", "Kenshi Yonezu", "This is my everyday.\nTrack 6 from Kenshi Yonezu's sixth album, LOST CORNER, written for a Coca-Cola drink commercial.", "BYGo5t6rdA8", "KenshiMainichiSubs"); add("sayonaramataitsuka", "Bye Now, See You Someday!", "さよーならまたいつか!", "Kenshi Yonezu", "Kenshi Yonezu", "Spread your wings and fly selfishly.\nTrack 9 from Kenshi Yonezu's sixth album, LOST CORNER, and the theme song for the TV series Tiger With Wings.", "-wb2PAx6aEs", "SayonaraMataItsukaSubs"); add("kenshiglobe", "Globe", "地球儀", "Kenshi Yonezu", "Kenshi Yonezu", "As if spinning a globe.\nThe theme song for Studio Ghibli's How Do You Live? (The Boy and the Heron).", "VUsURj_OYdA", "KenshiGlobeSubs"); add("moongazing", "Moongazing", "月を見ていた", "Kenshi Yonezu", "Kenshi Yonezu", "This flame will not extinguish.\nTrack 12 from Kenshi Yonezu's sixth album, LOST CORNER, and the theme song for Final Fantasy XVI.", "1kUZ0LoUELI", "MoongazingSubs"); add("kenshilady", "LADY", "LADY", "Kenshi Yonezu", "Kenshi Yonezu", "I just want to go here and there with you.\nTrack 7 from Kenshi Yonezu's sixth album, LOST CORNER, written for a Coca-Cola drink commercial.", "DdF-u3fe5pg", "KenshiLadySubs"); add("kickback", "KICK BACK", "KICK BACK", "Kenshi Yonezu", "Kenshi Yonezu", "A beautiful star.\nThe title song from Kenshi Yonezu's thirteenth single, and the opening theme for the Chainsaw Man anime.", "M2cckDmNLMI", "KickBackSubs"); add("m87", "M87", "M八七", "Kenshi Yonezu", "Kenshi Yonezu", "Toward the beyond.\nThe title song from Kenshi Yonezu's twelfth single, and theme song for the movie Shin Ultraman.", "Zhx1n6uvgUE", "M87Subs"); add("popsong", "POP SONG", "POP SONG", "Kenshi Yonezu", "Kenshi Yonezu", "A song that's just for you.\nA song written for a PlayStation commercial titled \"A World Without Play.\"", "mHP6-D-yBEw", "PopSongSubs"); add("kenshishinigami", "Shinigami", "死神", "Kenshi Yonezu", "Kenshi Yonezu", "Ajarakamokuren, tekerettsu no pa.\nA short version of track 3 from Kenshi Yonezu's eleventh single, Pale Blue.\nShinigami are Japanese gods of death, and the song is inspired by a classical rakugo performance called Shinigami, in which \"ajarakamokuren, tekerettsu no pa\" is an incantation for warding them off.", "8nxaZ69ElEc", "KenshiShinigamiSubs"); add("paleblue", "Pale Blue", "Pale Blue", "Kenshi Yonezu", "Kenshi Yonezu", "I loved you so...\nThe title song from Kenshi Yonezu's eleventh single, Pale Blue, and the theme song of the TV series Rikokatsu.", "7WZ1Kt3zraY", "PaleBlueSubs"); add("kenshicanary", "Canary", "カナリヤ", "Kenshi Yonezu", "Kenshi Yonezu", "It's fine...\nTrack 15 from Kenshi Yonezu's fifth album, STRAY SHEEP.", "JAMNqRBL_CY", "KenshiCanarySubs"); add("kenshicampanella", "Campanella", "カムパネルラ", "Kenshi Yonezu", "Kenshi Yonezu", "I want to remember you...\nTrack 1 from Kenshi Yonezu's fifth album, STRAY SHEEP.", "XeFQJ6-XoD0", "KenshiCampanellaSubs"); add("kenshishock", "Shock", "感電", "Kenshi Yonezu", "Kenshi Yonezu", "Living for the moment.\nTrack 3 from Kenshi Yonezu's fifth album, STRAY SHEEP, and the theme of the TV series MIU404.", "UFQEttrn6CQ", "KenshiShockSubs"); add("horseanddeer", "Horse and Deer", "馬と鹿", "Kenshi Yonezu", "Kenshi Yonezu", "Then what would you call it?\nThe title song from Kenshi Yonezu's tenth single, Horse and Deer, and the theme of the TV series No-Side Game.\nThe title is a reference to the etymology of the word \"baka\" (idiot): the kanji are literally \"horse\" and \"deer,\" supposedly implying \"someone who can't tell the difference between a horse and a deer.\"", "ptnYBctoexk", "HorseAndDeerSubs"); add("paprika", "Paprika", "パプリカ", "Kenshi Yonezu", "Kenshi Yonezu", "Let's sow the seeds in a cloudless sky.\nA support song written for the 2020 Tokyo Olympics.\nThis version is sung by Kenshi Yonezu with a new video by Ryu Kato. The song was originally released about a year prior, sung by a child group called Foorin (link).", "s582L3gujnw", "PaprikaCoverSubs"); add("ghostofthesea", "Ghost of the Sea", "海の幽霊", "Kenshi Yonezu", "Kenshi Yonezu", "The most important things, words can't describe.\nThe theme song for the movie Children of the Sea.", "1s84rIhPuhk", "GhostOfTheSeaSubs"); add("teenageriot", "TEENAGE RIOT", "TEENAGE RIOT", "Kenshi Yonezu", "Kenshi Yonezu", "Haha, what a riot.\nOne of the title songs from Kenshi Yonezu's ninth single, Flamingo / TEENAGE RIOT.\n\"The few measly words\" is specifically \"those three characters\" in Japanese, but it's unclear what that word/words are meant to be.", "lwolyOIcCQg", "TeenageRiotSubs"); add("flamingo", "Flamingo", "Flamingo", "Kenshi Yonezu", "Kenshi Yonezu", "You're a flamingo...\nOne of the title songs from Kenshi Yonezu's ninth single, Flamingo / TEENAGE RIOT.\nThe \"fla-fla\" parts are a play on \"furafura,\" the word for \"stumbling/unsteady on your feet\" used elsewhere in the song.", "Uh6dkL1M9DM", "FlamingoSubs"); add("lemonkenshi", "Lemon", "Lemon", "Kenshi Yonezu", "Kenshi Yonezu", "Even now, you are my light...\nThe title song from Kenshi Yonezu's eighth single, Lemon, and the theme of the TV series Unnatural.", "SX_ViT4Ra7k", "LemonKenshiSubs"); add("springthunder", "Spring Thunder", "春雷", "Kenshi Yonezu", "Kenshi Yonezu", "Where did that unending storm that swirled all around me go?\nTrack 8 on Kenshi Yonezu's fourth album, BOOTLEG.", "zkNzxsaCunU", "SpringThunderSubsFontFix"); add("grayandblue", "Gray and Blue", "灰色と青", "Kenshi Yonezu", "Kenshi Yonezu & Masaki Suda", "Still now I sing...\nTrack 14 on Kenshi Yonezu's fourth album, BOOTLEG.", "gJX2iy6nhHc", "GrayAndBlueSubsFontFix"); add("sandplanet", "Sand Planet", "砂の惑星", "Hachi", "Hatsune Miku", "A prayer reached at last.\nThe theme song for Hatsune Miku Magical Mirai 2017. The PV is by Minakata Laboratory - yes, really.", "AS4q9yaWJkI", "SandPlanetSubs"); add("peacesign", "Peace Sign", "ピースサイン", "Kenshi Yonezu", "Kenshi Yonezu", "So long, and throw up a peace sign.\nThe title song from Kenshi Yonezu's seventh single, Peace Sign, and the opening theme for season 2 of the My Hero Academia anime.", "9aJVr5tTTWk", "PeaceSignSubsFontFix"); add("orionkenshi", "orion", "orion", "Kenshi Yonezu", "Kenshi Yonezu", "May we be tied together.\nThe title song from Kenshi Yonezu's sixth single, orion, and the ending theme for season 2 of the March Comes In Like A Lion anime.", "lzAyrgSqeeE", "OrionSubsFontFix"); add("loser", "LOSER", "LOSER", "Kenshi Yonezu", "Kenshi Yonezu", "What a loser.\nOne of the title songs from Kenshi Yonezu's fifth single, LOSER / Number Nine.", "Dx_fKPBPYUI", "LoserSubsFontFix"); add("metronome", "Metronome", "メトロノーム", "Kenshi Yonezu", "Kenshi Yonezu", "I suppose I'll end up searching for you...\nTrack 9 from Kenshi Yonezu's third album, Bremen.", "Qa9PkDZkyHg", "MetronomeSubs", "", -0.04, 1280, 720); add("fluorite", "Fluorite", "フローライト", "Kenshi Yonezu", "Kenshi Yonezu", "Fluorite, fluorite...\nTrack 2 from Kenshi Yonezu's third album, Bremen.", "WLEPU7DqLzg", "FluoriteSubsFontFix"); add("unbelievers", "Unbelievers", "アンビリーバーズ", "Kenshi Yonezu", "Kenshi Yonezu", "Now, we can't believe it... How it could it not be butter?\nThe title song of Kenshi Yonezu's fourth single, Unbelievers, and Track 1 on his third album, Bremen.", "naJcqMBbAn4", "UnbelieversSubsFontFix"); add("flowerwall", "Flowerwall", "Flowerwall", "Kenshi Yonezu", "Kenshi Yonezu", "So, as I pray... unlimited flowerworks.\nThe title song of Kenshi Yonezu's third single, Flowerwall, and Track 4 on his third album, Bremen.", "Y4_vXzyOJHE", "FlowerwallSubsFontFix"); add("everlastingnight", "EveR ∞ LastinG ∞ NighT", "EveR ∞ LastinG ∞ NighT", "Hitoshizuku & Yama△", "Vocaloid Eight", "Now it is the EnD of a fantastic story! Good lucK!", "UkkfI12kIK8", "EverLastingNightSubsFermataFix", "", -0.03); add("woodendoll", "WOODEN DOLL", "WOODEN DOLL", "Kenshi Yonezu", "Kenshi Yonezu", "Wah-hah-haha!\nTrack 3 on Kenshi Yonezu's second album, YANKEE.", "QA_p90T6oy4", "WoodenDollSubsFontFix", "", 0, 1280, 720); add("einekleine", "Eine Kleine", "アイネクライネ", "Kenshi Yonezu", "Kenshi Yonezu", "I'm so happy to have met you...\nTrack 4 from Kenshi Yonezu's second album, YANKEE.", "-EKxzId_Sj4", "EineKleineSubsCoverFix"); add("livingdeadyouth", "Living Death Youth", "リビングデッド・ユース", "Kenshi Yonezu", "Kenshi Yonezu", "Youths these days are so indecisive. Can't even make up their mind whether they're living or dying!\nTrack 1 from Kenshi Yonezu's second album, YANKEE.", "A2bFukH-TwA", "LivingDeadYouthSubsFontFix"); add("poppinapathy", "Poppin' Apathy", "ポッピンアパシー", "Kenshi Yonezu", "Kenshi Yonezu", "That's the only right answer there is...\nThe other title track from Kenshi Yonezu's second single, MAD HEAD LOVE / Poppin' Apathy.", "pUDI2x5Y0Wo", "PoppinApathySubsWithoutJP"); add("madheadlove", "MAD HEAD LOVE", "MAD HEAD LOVE", "Kenshi Yonezu", "Kenshi Yonezu", "Baby, baby-by, I love you!\nOne of the title tracks from Kenshi Yonezu's second single, MAD HEAD LOVE / Poppin' Apathy.", "xCIJJ2Rb368", "MadHeadLoveSubsFontFix", "", 0.01); add("santamaria", "Santa Maria", "サンタマリア", "Kenshi Yonezu", "Kenshi Yonezu", "Oh, Santa Maria...\nThe title song of Kenshi Yonezu's first single Santa Maria, and Track 6 on his second album YANKEE.", "KR54fHpcxEQ", "SantaMariaSubsFontFix"); add("twilightnight", "Twilight ∞ nighT", "Twilight ∞ nighT", "Hitoshizuku & Yama△", "Vocaloid Eight", "Congratulations! Now, you found...", "x847XAeQxAQ", "TwilightNightSubsNoteShiftFix", "", -0.03); add("loveandfever", "Love and Fever", "恋と病熱", "Kenshi Yonezu", "Kenshi Yonezu", "Less and less, more and more.\nTrack 9 on Kenshi Yonezu's first album, diorama.", "GiPdefbPa0k", "LoveAndFeverSubsCoverFix", "", 0, 960, 540); add("kenshivivi", "vivi", "vivi", "Kenshi Yonezu", "Kenshi Yonezu", "I love you, Vivi.\nTrack 7 on Kenshi Yonezu's first album, diorama.", "W-Tun8O-Tjk", "KenshiViviSubsCoverFix"); add("gogoghost", "Go Go Ghost Ship", "ゴーゴー幽霊船", "Kenshi Yonezu", "Kenshi Yonezu", "A somewhat sickly sort at seventeen, but just look at what Hachi's doing three years later!\nTrack 2 on Kenshi Yonezu's first album, diorama.", "2PqxOytUjz0", "GoGoGhostSubsSizeFix", "", 0, 640, 360); add("lynne", "Lynne", "リンネ", "Hachi", "Hatsune Miku", "Ah -\nThat's what it says on her tongue. It says \"ah.\" She took her doctor literally, apparently?\nThe title comes from \"rinne,\" the cycle of reincarnation. But it is used in a punny way here. (And Ghost Trick agrees with me.)", "EahYs-8tTjQ", "LynneSubs", "", 0.03, 640, 480); $pagetitle = "vgperson's Soft-Subs"; $youtubefull = ""; if ($found) // Video { if ($engtitle != $jpntitle) $combinedtitle = "$engtitle ($jpntitle)"; else $combinedtitle = "$engtitle"; $pagetitle = "$engtitle (by $artist) - vgperson's Soft-Subs"; $youtubefull = "https://www.youtube.com/watch?v=$youtube"; $lyricslink = "https://vgperson.com/lyrics.php?song=$songname"; $lyricslocallink = "./lyrics.php?song=$songname"; $content = "
$lb" . $stdtab2 . "$lb" . $stdtab . "
$dlb" . $stdtab . "

$singer - $combinedtitle

$lb" . ($artist != $singer? $stdtab . "

by $artist

$dlb": "$lb") . $stdtab . "
$description$dlb" . $stdtab . "

Original video: $youtubefull
$lb" . $stdtab . "Lyrics: $lyricslink

$dlb" . $stdtab . "

Video List

$lb" . $stdtab . "

$dlb"; $content .= $stdtab . "$lb"; } else if ($songname == "") // Song list $content = "

vgperson's Soft-Subs

$dlb" . $stdtab . $songlist . $stdtab . "

Home

$lb"; else // Non-existing song $content = "

Song not found.

$lb"; $currentControls = $useYTControls? "YouTube" : "videojs"; $altControls = !$useYTControls? "YouTube" : "videojs"; $controlContent = "$currentControls ()"; ?>