Skip to content

Instantly share code, notes, and snippets.

@m-ueno
Created March 2, 2011 16:17
Show Gist options
  • Save m-ueno/851179 to your computer and use it in GitHub Desktop.
Save m-ueno/851179 to your computer and use it in GitHub Desktop.
mystella
// ==UserScript==
// @name mystella
// @author uenop
// @namespace http://uenop/
// @version $Last update: 2011/03/02 20:08:29 $
// @include http://www.nicovideo.jp/watch/*
// ==/UserScript==
(function() {
var key_comment='c';
var key_debug='o';
var key_fullscreen='f';
var key_mute='m';
var key_n_second='n'; // move to position n(second)
var key_play='p'; // play, pause
var key_seek_back='u';
var key_seek_forward='i';
var key_seek_head='h';
var key_volumeup='up';
var key_volumedown='down';
document.addEventListener('keydown', function (e) {
var player = document.getElementById('flvplayer');
//window.opera.addEventListener('keydown', function (e) {
var pressed = String.fromCharCode(e.which).toLowerCase();
pressed = (e.ctrlKey ? 'C-' : '') + (e.altKey ? 'A-' : '') + (e.shiftKey ? 'S-' : '') + pressed;
switch(pressed){
case key_comment:
e.preventDefault();
(player.ext_isCommentVisible()) ? player.ext_setCommentVisible(false) : player.ext_setCommentVisible(true);
break;
case key_play:
(player.ext_getStatus() !== 'playing') ? player.ext_play(true) : player.ext_play(false);
break;
case key_debug:
alert(player.ext_getStatus());
break;
case key_n_second:
var s = prompt('seek to (second OR min:sec)',"1:00");
var n;
var a = s.match(/\d+/g);
if( a.length==1 )
n = s;
else if( a.length==2 )
n = Number(a[0]*60) + Number(a[1]);
else
break;
player.ext_setPlayheadTime(n);
break;
case key_seek_back:
player.ext_setPlayheadTime( player.ext_getPlayheadTime() -5 );
break;
case key_seek_forward:
player.ext_setPlayheadTime( player.ext_getPlayheadTime() +5 );
break;
case key_fullscreen:
(player.ext_getVideoSize!=='fit') ? player.ext_setVideoSize('fit') : player.ext_setVideoSize('normal');
break;
case key_mute:
(player.ext_isMute()) ? player.ext_setMute(false) : player.ext_setMute(true);
break;
default:
// window.opera.postError(e.which + " " + String.fromCharCode(e.which))
}
}, false);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment