mirror of
https://github.com/SoPat712/videospeed.git
synced 2025-08-22 02:18:45 -04:00
add shortcut to reset playback speed
This commit is contained in:
@@ -5,6 +5,7 @@ chrome.extension.sendMessage({}, function(response) {
|
|||||||
speed: 1.0, // default 1x
|
speed: 1.0, // default 1x
|
||||||
speedStep: 0.1, // default 0.1x
|
speedStep: 0.1, // default 0.1x
|
||||||
rewindTime: 10, // default 10s
|
rewindTime: 10, // default 10s
|
||||||
|
resetKeyCode: 82, // default: R
|
||||||
rewindKeyCode: 65, // default: A
|
rewindKeyCode: 65, // default: A
|
||||||
slowerKeyCode: 83, // default: S
|
slowerKeyCode: 83, // default: S
|
||||||
fasterKeyCode: 68, // default: D
|
fasterKeyCode: 68, // default: D
|
||||||
@@ -17,6 +18,7 @@ chrome.extension.sendMessage({}, function(response) {
|
|||||||
tc.settings.speed = Number(storage.speed);
|
tc.settings.speed = Number(storage.speed);
|
||||||
tc.settings.speedStep = Number(storage.speedStep);
|
tc.settings.speedStep = Number(storage.speedStep);
|
||||||
tc.settings.rewindTime = Number(storage.rewindTime);
|
tc.settings.rewindTime = Number(storage.rewindTime);
|
||||||
|
tc.settings.resetKeyCode = Number(storage.resetKeyCode);
|
||||||
tc.settings.rewindKeyCode = Number(storage.rewindKeyCode);
|
tc.settings.rewindKeyCode = Number(storage.rewindKeyCode);
|
||||||
tc.settings.slowerKeyCode = Number(storage.slowerKeyCode);
|
tc.settings.slowerKeyCode = Number(storage.slowerKeyCode);
|
||||||
tc.settings.fasterKeyCode = Number(storage.fasterKeyCode);
|
tc.settings.fasterKeyCode = Number(storage.fasterKeyCode);
|
||||||
@@ -146,6 +148,8 @@ chrome.extension.sendMessage({}, function(response) {
|
|||||||
// https://code.google.com/p/chromium/codesearch#chromium/src/media/filters/audio_renderer_algorithm.cc&l=49
|
// https://code.google.com/p/chromium/codesearch#chromium/src/media/filters/audio_renderer_algorithm.cc&l=49
|
||||||
var s = Math.max(v.playbackRate - tc.settings.speedStep, 0);
|
var s = Math.max(v.playbackRate - tc.settings.speedStep, 0);
|
||||||
setSpeed(v, s);
|
setSpeed(v, s);
|
||||||
|
} else if (action === 'reset') {
|
||||||
|
setSpeed(v, 1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -166,6 +170,8 @@ chrome.extension.sendMessage({}, function(response) {
|
|||||||
runAction('faster')
|
runAction('faster')
|
||||||
} else if (keyCode == tc.settings.slowerKeyCode) {
|
} else if (keyCode == tc.settings.slowerKeyCode) {
|
||||||
runAction('slower')
|
runAction('slower')
|
||||||
|
} else if (keyCode == tc.settings.resetKeyCode) {
|
||||||
|
runAction('reset')
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@@ -17,11 +17,15 @@
|
|||||||
<input id="rewindKeyInput" placeholder="press a key" type="text" value=""/>
|
<input id="rewindKeyInput" placeholder="press a key" type="text" value=""/>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label for="slowerKeyInput">Slow Down</label>
|
<label for="resetKeyInput">Reset speed</label>
|
||||||
|
<input id="resetKeyInput" placeholder="press a key" type="text" value=""/>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<label for="slowerKeyInput">Decrease speed</label>
|
||||||
<input id="slowerKeyInput" placeholder="press a key" type="text" value=""/>
|
<input id="slowerKeyInput" placeholder="press a key" type="text" value=""/>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label for="fasterKeyInput">Speed Up</label>
|
<label for="fasterKeyInput">Increase speed</label>
|
||||||
<input id="fasterKeyInput" placeholder="press a key" type="text" value=""/>
|
<input id="fasterKeyInput" placeholder="press a key" type="text" value=""/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
43
options.js
43
options.js
@@ -1,3 +1,13 @@
|
|||||||
|
var tcDefaults = {
|
||||||
|
speedStep: 0.1,
|
||||||
|
rewindTime: 10,
|
||||||
|
resetKeyCode: 82,
|
||||||
|
rewindKeyCode: 65,
|
||||||
|
slowerKeyCode: 83,
|
||||||
|
fasterKeyCode: 68,
|
||||||
|
rememberSpeed: false
|
||||||
|
};
|
||||||
|
|
||||||
function recordKeyPress(e) {
|
function recordKeyPress(e) {
|
||||||
var normalizedChar = String.fromCharCode(e.keyCode).toUpperCase();
|
var normalizedChar = String.fromCharCode(e.keyCode).toUpperCase();
|
||||||
e.target.value = normalizedChar;
|
e.target.value = normalizedChar;
|
||||||
@@ -33,20 +43,23 @@ function save_options() {
|
|||||||
|
|
||||||
var speedStep = document.getElementById('speedStep').value;
|
var speedStep = document.getElementById('speedStep').value;
|
||||||
var rewindTime = document.getElementById('rewindTime').value;
|
var rewindTime = document.getElementById('rewindTime').value;
|
||||||
|
var resetKeyCode = document.getElementById('resetKeyInput').keyCode;
|
||||||
var rewindKeyCode = document.getElementById('rewindKeyInput').keyCode;
|
var rewindKeyCode = document.getElementById('rewindKeyInput').keyCode;
|
||||||
var slowerKeyCode = document.getElementById('slowerKeyInput').keyCode;
|
var slowerKeyCode = document.getElementById('slowerKeyInput').keyCode;
|
||||||
var fasterKeyCode = document.getElementById('fasterKeyInput').keyCode;
|
var fasterKeyCode = document.getElementById('fasterKeyInput').keyCode;
|
||||||
var rememberSpeed = document.getElementById('rememberSpeed').checked;
|
var rememberSpeed = document.getElementById('rememberSpeed').checked;
|
||||||
|
|
||||||
speedStep = isNaN(speedStep) ? 0.1 : Number(speedStep);
|
speedStep = isNaN(speedStep) ? tcDefaults.speedStep : Number(speedStep);
|
||||||
rewindTime = isNaN(rewindTime) ? 10 : Number(rewindTime);
|
rewindTime = isNaN(rewindTime) ? tcDefaults.rewindTime : Number(rewindTime);
|
||||||
rewindKeyCode = isNaN(rewindKeyCode) ? 65 : rewindKeyCode;
|
resetKeyCode = isNaN(resetKeyCode) ? tcDefaults.resetKeyCode : resetKeyCode;
|
||||||
slowerKeyCode = isNaN(slowerKeyCode) ? 83 : slowerKeyCode;
|
rewindKeyCode = isNaN(rewindKeyCode) ? tcDefaults.rewindKeyCode : rewindKeyCode;
|
||||||
fasterKeyCode = isNaN(fasterKeyCode) ? 68 : fasterKeyCode;
|
slowerKeyCode = isNaN(slowerKeyCode) ? tcDefaults.slowerKeyCode : slowerKeyCode;
|
||||||
|
fasterKeyCode = isNaN(fasterKeyCode) ? tcDefaults.fasterKeyCode : fasterKeyCode;
|
||||||
|
|
||||||
chrome.storage.sync.set({
|
chrome.storage.sync.set({
|
||||||
speedStep: speedStep,
|
speedStep: speedStep,
|
||||||
rewindTime: rewindTime,
|
rewindTime: rewindTime,
|
||||||
|
resetKeyCode: resetKeyCode,
|
||||||
rewindKeyCode: rewindKeyCode,
|
rewindKeyCode: rewindKeyCode,
|
||||||
slowerKeyCode: slowerKeyCode,
|
slowerKeyCode: slowerKeyCode,
|
||||||
fasterKeyCode: fasterKeyCode,
|
fasterKeyCode: fasterKeyCode,
|
||||||
@@ -63,16 +76,10 @@ function save_options() {
|
|||||||
|
|
||||||
// Restores options from chrome.storage
|
// Restores options from chrome.storage
|
||||||
function restore_options() {
|
function restore_options() {
|
||||||
chrome.storage.sync.get({
|
chrome.storage.sync.get(tcDefaults, function(storage) {
|
||||||
speedStep: 0.1,
|
|
||||||
rewindTime: 10,
|
|
||||||
rewindKeyCode: 65,
|
|
||||||
slowerKeyCode: 83,
|
|
||||||
fasterKeyCode: 68,
|
|
||||||
rememberSpeed: false
|
|
||||||
}, function(storage) {
|
|
||||||
document.getElementById('speedStep').value = storage.speedStep.toFixed(2);
|
document.getElementById('speedStep').value = storage.speedStep.toFixed(2);
|
||||||
document.getElementById('rewindTime').value = storage.rewindTime;
|
document.getElementById('rewindTime').value = storage.rewindTime;
|
||||||
|
updateShortcutInputText('resetKeyInput', storage.resetKeyCode);
|
||||||
updateShortcutInputText('rewindKeyInput', storage.rewindKeyCode);
|
updateShortcutInputText('rewindKeyInput', storage.rewindKeyCode);
|
||||||
updateShortcutInputText('slowerKeyInput', storage.slowerKeyCode);
|
updateShortcutInputText('slowerKeyInput', storage.slowerKeyCode);
|
||||||
updateShortcutInputText('fasterKeyInput', storage.fasterKeyCode);
|
updateShortcutInputText('fasterKeyInput', storage.fasterKeyCode);
|
||||||
@@ -81,14 +88,7 @@ function restore_options() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function restore_defaults() {
|
function restore_defaults() {
|
||||||
chrome.storage.sync.set({
|
chrome.storage.sync.set(tcDefaults, function() {
|
||||||
speedStep: 0.1,
|
|
||||||
rewindTime: 10,
|
|
||||||
rewindKeyCode: 65,
|
|
||||||
slowerKeyCode: 83,
|
|
||||||
fasterKeyCode: 68,
|
|
||||||
rememberSpeed: false
|
|
||||||
}, function() {
|
|
||||||
restore_options();
|
restore_options();
|
||||||
// Update status to let user know options were saved.
|
// Update status to let user know options were saved.
|
||||||
var status = document.getElementById('status');
|
var status = document.getElementById('status');
|
||||||
@@ -111,6 +111,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
document.getElementById('save').addEventListener('click', save_options);
|
document.getElementById('save').addEventListener('click', save_options);
|
||||||
document.getElementById('restore').addEventListener('click', restore_defaults);
|
document.getElementById('restore').addEventListener('click', restore_defaults);
|
||||||
|
|
||||||
|
initShortcutInput('resetKeyInput');
|
||||||
initShortcutInput('rewindKeyInput');
|
initShortcutInput('rewindKeyInput');
|
||||||
initShortcutInput('slowerKeyInput');
|
initShortcutInput('slowerKeyInput');
|
||||||
initShortcutInput('fasterKeyInput');
|
initShortcutInput('fasterKeyInput');
|
||||||
|
Reference in New Issue
Block a user