diff --git a/README.md b/README.md index b3da78d..2370601 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,42 @@ -# ultrawidify -Firefox extension that allows you to work around some people's inability to properly encode 21:9 videos. +# Ultrawidify — youtube aspect ratio fixer for firefox + +## What does it do? + +The technology has been here for a while, but plenty of people don't know how to properly encode a video (despite the fact [youtube has an article that explains aspect ratios](https://support.google.com/youtube/answer/6375112)). Plenty of people surprisingly includes major Holywood studios, such as [Marvel](https://www.youtube.com/watch?v=Ke1Y3P9D0Bc), [Disney](https://www.youtube.com/watch?v=yCOPJi0Urq4), [Dreamworks](https://www.youtube.com/watch?v=oKiYuIsPxYk), [Warner Brothers](https://www.youtube.com/watch?v=VYZ3U1inHA4), [Sony](https://www.youtube.com/watch?v=7BWWWQzTpNU), et cetera. You'd think that's the one thing Holywood studios and people who make [music videos for a living](https://www.youtube.com/watch?v=c6Mx2mxpaCY) would know how to do right, but they don't. This extension is here to fix that. + +### TL;DR: it does this: + +![Should these black bars be here? No ... but an ultrawide user never forgets.](img-demo/example-httyd2.png) + +I'd demo with Sintel but it's properly encoded. + +This extension also allows you to zoom in or out of video (similar to how SMPlayer does it). + +## Installing + +[Just install it from Mozilla's addon page](https://addons.mozilla.org/en/firefox/addon/ultrawidify/). I'm only showing the source here. + +## How do I use it? + +Here's the list of keybinds: + +`w` : fit to width (will crop top and bottom if video is taller than the display) +`e` : fit to height (will crop left and right if video is wider than the display) +`z` : zoom +`u` : unzoom +`r` : reset to default + +## What works + +More or less everything. Works regardless of whether the video is in fullscreen or not. Works regardless if the youtube video you're watching is embedded on some other page. + +## What doesn't + +On a very rare occasion, `w` button won't work. So far this behaviour was seen in [two](https://www.youtube.com/watch?v=eRsGyueVLvQ) [videos](https://www.youtube.com/watch?v=RYsPEl-xOv0) out of countless I've tried. In cases like this, use `z` to zoom instead. + +## Plans for the future + +* Adding custom keybinds +* Adding a proper settings page +* Adding buttons for actions in youtube's player +* Adding an option to force specific aspect ratio diff --git a/icons/uw-48.png b/icons/uw-48.png deleted file mode 100644 index c50c12b..0000000 Binary files a/icons/uw-48.png and /dev/null differ diff --git a/icons/uw-64.png b/icons/uw-64.png new file mode 100644 index 0000000..4875768 Binary files /dev/null and b/icons/uw-64.png differ diff --git a/icons/uw-64.xcf b/icons/uw-64.xcf new file mode 100644 index 0000000..6915c7d Binary files /dev/null and b/icons/uw-64.xcf differ diff --git a/icons/uw-96.png b/icons/uw-96.png deleted file mode 100644 index 6b213bf..0000000 Binary files a/icons/uw-96.png and /dev/null differ diff --git a/img-demo/example-httyd2.png b/img-demo/example-httyd2.png new file mode 100644 index 0000000..ad9df62 Binary files /dev/null and b/img-demo/example-httyd2.png differ diff --git a/img-demo/example-ironman.png b/img-demo/example-ironman.png new file mode 100644 index 0000000..d86ba38 Binary files /dev/null and b/img-demo/example-ironman.png differ diff --git a/js/jquery.fullscreen.js b/js/jquery.fullscreen.js deleted file mode 100644 index 0527664..0000000 --- a/js/jquery.fullscreen.js +++ /dev/null @@ -1,123 +0,0 @@ -(function($, window, documentElement, height, width) { - - // browser detection code courtesy of quirksmode, http://www.quirksmode.org/js/detect.html - // slightly simplified, as well as minor changes for readability purposes - - var BrowserDetect = { - init: function () { - this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; - this.version = this.searchVersion(navigator.userAgent) - || this.searchVersion(navigator.appVersion) - || "an unknown version"; - this.OS = this.searchString(this.dataOS) || "an unknown OS"; - }, - - searchString: function (data) { - for (var i=0;i"], - "js": [ "jquery.js", "uw.js" ], - "all_frames": true - }, - { - "matches": ["*://*.youtube.com/*", "*://youtube.com/*"], - "js": [ "jquery.js", "uw.js" ], + "js": [ "js/jquery.js", "js/uw.js" ], "all_frames": true } ],