您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add buttons to load the .lrc format file on the edit screen on typing-tube.net.
当前为
- // ==UserScript==
- // @name lrcReader[typing-tube.net]
- // @namespace http://tampermonkey.net/lrcReader
- // @version 0.31
- // @description Add buttons to load the .lrc format file on the edit screen on typing-tube.net.
- // @author Spacia
- // @match https://typing-tube.net/movie/edit?videoid=*
- // @grant none
- // ==/UserScript==
- //This is the Entry point.
- (function() {
- 'use strict';
- AddLrcReaderElements();
- })();
- function AddLrcReaderElements(){
- // Add a div element to be container to the bottom of the navigation menu "edit".
- var elDiv = document.createElement("div");
- elDiv.classList.add('row');
- elDiv.classList.add('ml-2');
- elDiv.classList.add('w-100');
- elDiv.id = "ContainerOflrcReader";
- var elEdit = document.getElementById("edit");
- elEdit.appendChild(elDiv);
- var elDevId = document.getElementById("ContainerOflrcReader");
- // Add a button for uploading .lrc format file in container created by former code.
- var elTextDiv = document.createElement("div");
- elTextDiv.classList.add("col-2");
- elTextDiv.innerHTML = "lrcファイルを参照";
- elDevId.appendChild(elTextDiv);
- var elForm = document.createElement("form");
- elForm.classList.add("col-6");
- elForm.innerHTML = "<div><input name='lrcFile' type='file' accept='.lrc'></div>";
- elForm.addEventListener('change', onLoadLrc);
- elDevId.appendChild(elForm);
- // Add radio buttons to select English or Kana.
- var elForm2 = document.createElement("form");
- elForm2.classList.add("col-4");
- elForm2.innerHTML = "<span style='padding-right:20px;'><label><input id='lrcConverTypeKana' name='lrcConvertType' type='radio' value='kana' checked>かな </label></span><span><label><input name='lrcConvertType' type='radio' value='eng'>英語</label></span>";
- elDevId.appendChild(elForm2);
- }
- function onLoadLrc(event){
- SetTimeEvent();
- var _file = event.target.files[0];
- if(_file){
- var fr = new FileReader();
- fr.onload = function(e) {
- // A file was loaded.
- SetLinesOfLyricsToTimelineTable(fr.result.split('\n'));
- }
- fr.readAsText(_file);
- }else{
- alert("Failed to load file formated .lrc");
- }
- }
- var isKanaMode; //load mode of kana or english
- var lineidx = 0;
- var time;
- var editedLine;
- var lines;
- var timeEventFlag;
- function SetTimeEvent(){
- setTimeout(() => {
- if(document.getElementById("kana").value.length != 0){
- hoge();
- }
- if(timeEventFlag){
- SetTimeEvent();
- }
- }, 20);
- }
- function SetLinesOfLyricsToTimelineTable(_lines) {
- isKanaMode = document.getElementById('lrcConverTypeKana').checked;
- lineidx = 0;
- lines = _lines;
- timeEventFlag = true;
- retriveLineInfo();
- }
- function retriveLineInfo(){
- var line = lines[lineidx++];
- //if empty line then check next line.
- var ptnOfTimeTag = /\[\d\d:\d\d:\d\d\]/g;
- if(ptnOfTimeTag.test(line) == false){
- if(lineidx < lines.length){
- retriveLineInfo();
- }else{
- timeEventFlag = false;
- }
- return;
- }
- //get time for this line.
- var ptnOfTwoDigidTime = /\d\d/g;
- var timesStr = line.match(ptnOfTwoDigidTime);
- var minute = parseFloat(timesStr[0]);
- var second = parseFloat(timesStr[1]);
- var centiSec = parseFloat(timesStr[2]);
- time = minute * 60 + second + centiSec * 0.01;
- //console.log(time);
- //get line of text.
- editedLine = line.replace(ptnOfTimeTag,"").trim();
- //console.log(editedLine);
- //Add time and lineLyrics to the timeline Table in the navigation menu "edit".
- document.getElementById("time").value = time;
- document.getElementById("words").value = editedLine;
- if(isKanaMode){
- command_kakasi();
- }else{
- command_kakasi_en();
- }
- }
- function hoge(){
- console.log("hoge");
- if( document.getElementById("kana").value.length != 0){
- command_add();
- if(lineidx < lines.length){
- retriveLineInfo();
- }else{
- timeEventFlag = false;
- }
- }
- }