Mirror of BetterYTM's source code https://github.com/Sv443/BetterYTM

Sv443 333f10b826 chore: update userutils 8 tháng trước cách đây
.github 3007be41b4 ci: set retention days 10 tháng trước cách đây
.storybook 7b5704c471 fix: invis characters 10 tháng trước cách đây
.vscode dc39299a3d ref: renamed stuff 9 tháng trước cách đây
assets 08d8a384d3 fix: auto-like feature on new yt design & smaller bug fixes 8 tháng trước cách đây
dist c9667d7bc6 fix: build 9 tháng trước cách đây
src f5c5ee88de fix: don't use DOM lib in node process 8 tháng trước cách đây
.dependency-cruiser.cjs eda47b7e43 feat: add dependency cruiser 8 tháng trước cách đây
.env.template 520689c104 Release 1.1.0 (#35) 1 năm trước cách đây
.gitignore eda47b7e43 feat: add dependency cruiser 8 tháng trước cách đây
LICENSE.txt 520689c104 Release 1.1.0 (#35) 1 năm trước cách đây
README-summary.md 45c3c93e30 docs: readme language sorting 9 tháng trước cách đây
README.md 45c3c93e30 docs: readme language sorting 9 tháng trước cách đây
changelog.md 70295160eb ref: remove advancedLyricsFilter feature 8 tháng trước cách đây
contributing.md eda47b7e43 feat: add dependency cruiser 8 tháng trước cách đây
eslint.config.mjs bd226b3104 ref: update eslint typescript plugin 8 tháng trước cách đây
license-for-plugins.txt 49e6b2fd0b ref: better wording in plugin license 9 tháng trước cách đây
package.json 333f10b826 chore: update userutils 8 tháng trước cách đây
pnpm-lock.yaml 333f10b826 chore: update userutils 8 tháng trước cách đây
rollup.config.mjs acb6e7ca8a feat: add manual package linking 9 tháng trước cách đây
tsconfig.json bd226b3104 ref: update eslint typescript plugin 8 tháng trước cách đây

README-summary.md


BetterYTM

Lots of configurable layout and user experience improvements for YouTube Music™ and YouTube™

🇨🇳 Chinese (simpl.), 🇬🇧 English (UK), 🇺🇸 English (US), 🇫🇷 French, 🇩🇪 German, 🇮🇳 Hindi, 🇯🇵 Japanese, 🇵🇹 Portuguese, 🇪🇸 Spanish FeaturesInstallationPluginsSupportDevelopmentAttributionsDisclaimers



Features:

All of these can be toggled and configured in the configuration menu.

  • Layout & User Experience:
    • Auto-like your favorite channels' songs and videos
    • Show the amount of likes and dislikes on songs (powered by returnyoutubedislike.com)
    • Open any song's lyrics on genius.com which generally has higher quality than YouTube's providers
    • Quick actions on songs in a queue, to quickly open their lyrics or remove them from the queue
    • Set a custom size and step resolution for the volume slider and show a percentage label next to it
    • Improvements to clickability of song titles and thumbnails when wanting to open them in a new tab
    • Remember the time of the last played song to resume playback after reloading or reopening the tab
    • Quickly scroll to the currently active song in the queue by clicking a button
    • Remove the tracking parameter from URLs in the share menu
    • Automatically close permanent notifications
  • Input / Interaction:
    • Use arrow keys to skip forward or backward by a configurable amount of time
    • Press number keys to skip to a percentage of the currently playing song
    • Press a hotkey on a video/song to switch between YouTube and YouTube Music, while keeping the video time
    • Prevent the "unsaved data" popup that sometimes appears before leaving the site

... and these are just the notable features, there are many more smaller improvements and bugfixes!


To toggle and configure features, after installing the userscript, click the "BetterYTM" text under the logo to open the configuration menu.
If you disabled the watermark, you can still click your avatar in the top right corner on YTM or open the left sidebar on YT to open it.

My work relies on donations, so if you like this userscript please consider supporting development ❤️



Installation:

Requires a userscript manager browser extension.
I really recommend ViolentMonkey: FirefoxChromeEdge

Once you have the extension, click the install button at the top of this page!


Note: the unsafeWindow grant is required due to limitations in some browsers, see this issue for more info.


To install the latest development build click here (note: the script will not auto-update to the next release version)




Plugins:

BetterYTM supports plugin userscripts that can be installed in parallel and can make use of BetterYTM's pre-existing API.

Currently there are no available plugins, but you can submit an issue using the plugin submission template so it will be listed here.
Also refer to the plugin creation guide for more information on how to use the API to create a plugin.



Support:

If you have any questions, issues, or feature requests, please open an issue here.
You can also join my Discord server and ask your questions there or just hang out with other community members and me:

Discord



Development:

This project is based on my extensive template for making a userscript with TypeScript and many modern language and convenience features.
Check it out here if you want to make your own userscripts!

For information on how to contribute to this project or how to develop a plugin for BetterYTM, see the contributing guide



Attributions:

This userscript depends on these runtime libraries:

For development dependencies, please refer to devDependencies in package.json

Icons:



Disclaimers:

  • I am not affiliated with or endorsed by YouTube, Google, Alphabet, Genius, or anyone else.
  • I do not own any third party icons, I just re-host them here for better stability and availability.
  • I do not intend to ever collect any data about you, everything in this script is done and stored locally on your device or on the site the script runs on.
  • I can't guarantee this software is without flaws. If something bad happens, I don't accept blame. I do however accept bug reports and feature requests.





Made with ❤️ by Sv443
If you like this userscript, please consider supporting me

© 2022 Sv443 - AGPL-3.0