diff --git a/inject.js b/inject.js
index 2f2bafc..62cc05f 100644
--- a/inject.js
+++ b/inject.js
@@ -5,6 +5,7 @@ chrome.extension.sendMessage({}, function(response) {
speed: 1.0, // default 1x
speedStep: 0.1, // default 0.1x
rewindTime: 10, // default 10s
+ resetKeyCode: 82, // default: R
rewindKeyCode: 65, // default: A
slowerKeyCode: 83, // default: S
fasterKeyCode: 68, // default: D
@@ -17,6 +18,7 @@ chrome.extension.sendMessage({}, function(response) {
tc.settings.speed = Number(storage.speed);
tc.settings.speedStep = Number(storage.speedStep);
tc.settings.rewindTime = Number(storage.rewindTime);
+ tc.settings.resetKeyCode = Number(storage.resetKeyCode);
tc.settings.rewindKeyCode = Number(storage.rewindKeyCode);
tc.settings.slowerKeyCode = Number(storage.slowerKeyCode);
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
var s = Math.max(v.playbackRate - tc.settings.speedStep, 0);
setSpeed(v, s);
+ } else if (action === 'reset') {
+ setSpeed(v, 1.0);
}
}
});
@@ -166,6 +170,8 @@ chrome.extension.sendMessage({}, function(response) {
runAction('faster')
} else if (keyCode == tc.settings.slowerKeyCode) {
runAction('slower')
+ } else if (keyCode == tc.settings.resetKeyCode) {
+ runAction('reset')
}
return false;
diff --git a/options.html b/options.html
index e749301..b0fc1c0 100644
--- a/options.html
+++ b/options.html
@@ -15,13 +15,17 @@
-
+
-
+
+
+
+
+
-
+
diff --git a/options.js b/options.js
index c7e954b..71c3730 100644
--- a/options.js
+++ b/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) {
var normalizedChar = String.fromCharCode(e.keyCode).toUpperCase();
e.target.value = normalizedChar;
@@ -33,24 +43,27 @@ function save_options() {
var speedStep = document.getElementById('speedStep').value;
var rewindTime = document.getElementById('rewindTime').value;
+ var resetKeyCode = document.getElementById('resetKeyInput').keyCode;
var rewindKeyCode = document.getElementById('rewindKeyInput').keyCode;
var slowerKeyCode = document.getElementById('slowerKeyInput').keyCode;
var fasterKeyCode = document.getElementById('fasterKeyInput').keyCode;
var rememberSpeed = document.getElementById('rememberSpeed').checked;
- speedStep = isNaN(speedStep) ? 0.1 : Number(speedStep);
- rewindTime = isNaN(rewindTime) ? 10 : Number(rewindTime);
- rewindKeyCode = isNaN(rewindKeyCode) ? 65 : rewindKeyCode;
- slowerKeyCode = isNaN(slowerKeyCode) ? 83 : slowerKeyCode;
- fasterKeyCode = isNaN(fasterKeyCode) ? 68 : fasterKeyCode;
+ speedStep = isNaN(speedStep) ? tcDefaults.speedStep : Number(speedStep);
+ rewindTime = isNaN(rewindTime) ? tcDefaults.rewindTime : Number(rewindTime);
+ resetKeyCode = isNaN(resetKeyCode) ? tcDefaults.resetKeyCode : resetKeyCode;
+ rewindKeyCode = isNaN(rewindKeyCode) ? tcDefaults.rewindKeyCode : rewindKeyCode;
+ slowerKeyCode = isNaN(slowerKeyCode) ? tcDefaults.slowerKeyCode : slowerKeyCode;
+ fasterKeyCode = isNaN(fasterKeyCode) ? tcDefaults.fasterKeyCode : fasterKeyCode;
chrome.storage.sync.set({
speedStep: speedStep,
rewindTime: rewindTime,
+ resetKeyCode: resetKeyCode,
rewindKeyCode: rewindKeyCode,
slowerKeyCode: slowerKeyCode,
fasterKeyCode: fasterKeyCode,
- rememberSpeed: rememberSpeed
+ rememberSpeed: rememberSpeed
}, function() {
// Update status to let user know options were saved.
var status = document.getElementById('status');
@@ -63,16 +76,10 @@ function save_options() {
// Restores options from chrome.storage
function restore_options() {
- chrome.storage.sync.get({
- speedStep: 0.1,
- rewindTime: 10,
- rewindKeyCode: 65,
- slowerKeyCode: 83,
- fasterKeyCode: 68,
- rememberSpeed: false
- }, function(storage) {
+ chrome.storage.sync.get(tcDefaults, function(storage) {
document.getElementById('speedStep').value = storage.speedStep.toFixed(2);
document.getElementById('rewindTime').value = storage.rewindTime;
+ updateShortcutInputText('resetKeyInput', storage.resetKeyCode);
updateShortcutInputText('rewindKeyInput', storage.rewindKeyCode);
updateShortcutInputText('slowerKeyInput', storage.slowerKeyCode);
updateShortcutInputText('fasterKeyInput', storage.fasterKeyCode);
@@ -81,14 +88,7 @@ function restore_options() {
}
function restore_defaults() {
- chrome.storage.sync.set({
- speedStep: 0.1,
- rewindTime: 10,
- rewindKeyCode: 65,
- slowerKeyCode: 83,
- fasterKeyCode: 68,
- rememberSpeed: false
- }, function() {
+ chrome.storage.sync.set(tcDefaults, function() {
restore_options();
// Update status to let user know options were saved.
var status = document.getElementById('status');
@@ -111,6 +111,7 @@ document.addEventListener('DOMContentLoaded', function () {
document.getElementById('save').addEventListener('click', save_options);
document.getElementById('restore').addEventListener('click', restore_defaults);
+ initShortcutInput('resetKeyInput');
initShortcutInput('rewindKeyInput');
initShortcutInput('slowerKeyInput');
initShortcutInput('fasterKeyInput');