Adjust playback speed with the mouse scroll wheel.
Can you add an option to change the style of the speed control button to be like 'Enhancer for YouTube™,' where you can control it with the mouse scroll wheel over the icon? Many thanks!
@Jerry199022 That sounds possible. I don't know when it will be worked on. I've been busy with life. There is other stuff I need to finish for the extension then I'll get to new stuff. Thanks for suggesting this feature.
Thank you for your reply. I really like your extension. Wishing you a wonderful day every day.
@Jerry199022 No problem, thank you, thanks for your kind words
@Jerry199022 Can you give me more information about how this feature should work? I am working on it right now. I have it setup that both buttons can increase or decrease the speed based on the direction the wheel scrolls.
Please install Enhancer for YouTube™ for reference.
setup > Video player Controls >
Use the mouse wheel to control the playback speed or click to select the default playback speed or rightclick to select the normal playback speed
Also, if On-Screen Display is designed this way, I think it will look more aesthetically pleasing.
@Jerry199022 thanks for the suggestion, but I will not be re-designing the on-screen display. I don't want my extension to be too like another one.
I would love to have this as an option too. Right now you can control the playback speed via:
- Modifier key
alt/ctrl/shift+ mouse wheel - On screen playback speed buttons
But being able to do it with just the scroll wheel is by far the most convenient option which I miss from the previous extension. It's not only great for laid back experience where you're only using one hand, but also gives great precision when you're going through a long video (such as a course).
Yes, this is one of the few things about "Enhancer For YouTube" that I prefer. I'm frequently switching my keyboard back and forth on two computers but have two mice that are dedicated to each machine. Being able to control the video I've got playing in the background with only the mouse is very useful.
I don't care about changing the OSD (well, except maybe font size & a few more alignment options, e.g. bottom center, top center, etc.) but I think it's very useful to have your extension controllable via ONLY the keyboard & ONLY the mouse for a variety of use-cases & accessibility reasons.
Personally, I think the design from Enhancer For YouTube works perfectly:
- There's only one speed button (if enabled).
- Mouse wheel up & down while hovering over this button increases & decreases the speed by the user-set amount.
- Clicking the button resets the speed to the default.
I noticed your extension apparently already supports this with the volume slider UI element which is nice, although the OSD doesn't pop up showing the new volume percentage like it does with your KB + Mouse Wheel settings. Not sure if that's considered a bug or not.
Nice extension @VampireChicken12 btw, I've been periodically checking for an alternative to Enhancer For YouTube that was still similarly feature-rich but was open-source and this is definitely the closest (and is already better in a number of ways).
I don't care about changing the OSD (well, except maybe font size & a few more alignment options, e.g. bottom center, top center, etc.)
I could look into implementing these additions to the OSD
I noticed your extension apparently already supports this with the volume slider UI element which is nice, although the OSD doesn't pop up showing the new volume percentage like it does with your KB + Mouse Wheel settings. Not sure if that's considered a bug or not.
Are you talking about when the user manually adjusts the volume or scrolls the native YouTube volume to adjust it? or something else.
Personally, I think the design from Enhancer For YouTube works perfectly:
- There's only one speed button (if enabled).
- Mouse wheel up & down while hovering over this button increases & decreases the speed by the user-set amount.
- Clicking the button resets the speed to the default.
I'm trying to avoid directly copying features from another extension if possible. I once received a negative review on Edge claiming I was trying to impersonate another extension, which isn't true at all.
This project actually started because I got fed up with an extension called Magic Actions for YouTube constantly nagging me. I decided to create my own extension with the features I actually used and some new ideas of my own. Eventually, I decided to publish it, and that's how this repository came to be.
Nice extension @VampireChicken12 btw, I've been periodically checking for an alternative to Enhancer For YouTube that was still similarly feature-rich but was open-source and this is definitely the closest (and is already better in a number of ways).
@conradsrc Thank you I appreciate the kind words, my goal was never to replace another extension. I didn't even know of Enhancer for YouTube until a bit after publishing my extension.
I'm trying to avoid directly copying features from another extension if possible. I once received a negative review on Edge claiming I was trying to impersonate another extension, which isn't true at all.
Copying existing good ideas, features, patterns, best practices, etc. is one of the most common things in software development, and generally speaking it's not considered something bad, quite the opposite actually. It would only ever be a problem if in theory you copied the source code line by line, but obviously that not what this feature request is about, nor it would ever work that way.
So, in my personal opinion, you shouldn't let comments by ignorant people hold you back. You could just as easily be accused of impersonation (or whatever else) because it happens that your extension has a loop button, but so does some other previous extension. So does that mean you shouldn't have a loop button? I think the answer is obvious.
Anyway though, I went a bit off-topic but just wanted to give my two cents, not trying to push for anything here, and I appreciate the work that you do. Cheers.
@virtuallyunknown I appreciate it
Are you talking about when the user manually adjusts the volume or scrolls the native YouTube volume to adjust it? or something else.
When the user scrolls up/down while moused over the volume slider on the controls. It doesn't trigger the OSD when modifying the volume level, but when I use the "Scroll wheel volume control settings" (I have Shift as a modifier key) the OSD displays the changing volume level. Minor thing I noticed, no idea if there's a technical reason that makes it difficult to implement.
I'm trying to avoid directly copying features from another extension if possible. I once received a negative review on Edge claiming I was trying to impersonate another extension, which isn't true at all.
Sounds like a nonsense review that I would disregard entirely. @virtuallyunknown is completely correct. There's dozens of extensions and Greasemonkey scripts modifying YouTube in extremely similar (if not entirely identical) ways because there's often a very limited number of sensible ways to achieve something in UX design. That's not to mention that 1) in the open-source world, most projects & their licenses are designed so that someone can explicitly fork and modify their work entirely, so there's not some "taboo" in reusing or building off the work of others, and 2) UX designers often want to reuse common designs explicitly because it results in a more intuitive user experience when things behave the way the user expects based on their previous encounters with similar software.
I use uosc as my UI for mpv and it has exactly the same functionality I described. There's a UI element over the middle of the seek bar that appears when your mouse is nearby and it works exactly the same way: scroll wheel while moused over adjusts the volume, (right) clicking it resets (I'd assume you'd want to stick to left clicking when doing something in a web browser extension).
I know I've seen the pattern elsewhere before, though can't recall more specific examples off the top of my head. If you have some other reason to avoid implementing it that way then no sweat, it's your project! But I wouldn't worry about "copying" relatively common UX design practices. Not far off from some nut complaining that someone's video player was "copying" YouTube because it lets the user pause with the spacebar and seek with the arrow keys lol.
Thank you I appreciate the kind words, my goal was never to replace another extension. I didn't even know of Enhancer for YouTube until a bit after publishing my extension.
Yep, no problem. Like I said, it's both hard to avoid mirroring the work of others in this space and also not necessarily some virtue that you should strive for. I don't know what would result in a reasonable person feeling like you're "copying" someone's work in an unethical way outside of forking someone's project, only changing the name & logo, then slapping up some donation buttons and spamming it across social media lol.
"Enhancer for YouTube" reference:
scroll up to inc by 0.25, scroll down to dec by 0.25 and left/right click to reset to 1x
https://github.com/user-attachments/assets/1a160d26-d24d-41a3-b273-62fce94a0b16
Could requirement of modifier key be dropped as well? It would be ideal if volume could be adjusted with mouse alone.
Could requirement of modifier key be dropped as well? It would be ideal if volume could be adjusted with mouse alone.
I'm working on more pressing matters right now but I do plan on adding support for adjusting the player speed while scrolling over the player without a modifier key but it's going to take some work. Since both scroll wheel adjustment features can't be used at the same time unless one uses a modifier key
I'm working on more pressing matters right now but I do plan on adding support for adjusting the player speed while scrolling over the player without a modifier key but it's going to take some work.
Wouldn't that create an issue where the video player container hijacks the scroll event listener for the entire page, and thus prevents the user from scrolling down the page unless they move their mouse cursor away from the player itself. Can also be problematic if you're in theater mode since the player occupies full horizontal width, and about 3/4 of the available vertical space (on standard 1920x1080 resolution).
If you have a dedicated button, it can also be used to reset playback speed on click, and would be much easier to isolate mouse scroll events.
I'm working on more pressing matters right now but I do plan on adding support for adjusting the player speed while scrolling over the player without a modifier key but it's going to take some work.
Wouldn't that create an issue where the video player container hijacks the scroll event listener for the entire page, and thus prevents the user from scrolling down the page unless they move their mouse cursor away from the player itself. Can also be problematic if you're in theater mode since the player occupies full horizontal width, and about 3/4 of the available vertical space (on standard 1920x1080 resolution).
If you have a dedicated button, it can also be used to reset playback speed on click, and would be much easier to isolate mouse scroll events.
I mean the same thing could be said about the volume control, I'm not working on this button change @livingflore is when he gets around to it.
The extension was recently reviewed by humans on Mozilla addons and was found to be in violation of one of their policies without me realizing the extension is at risk of being removed unless I get this fixed. Most likely all the old versions will be removed and a new version will be released fixing it.
This email is from November 10th
I mean the same thing could be said about the volume control
Well, I am not familiar with the source code of the extension, but if there is a dedicated button, I think you could be able to use stopPropagation to take care of the problem you describe during the bubbling phase. Anyway, was just providing some feedback, no rush or anything like that.
The extension was recently reviewed by humans on Mozilla addons and was found to be in violation of one of their policies without me realizing the extension is at risk of being removed unless I get this fixed.
They require you to provide source code which you seem to do, but their build doesn't match what you're uploading. I am not sure how to help, you probably just need to make the builds match or if there is a mismatch, where it's coming from. You're probably aware of all this, but mentioning just in case.
Well, I am not familiar with the source code of the extension, but if there is a dedicated button, I think you could be able to use
stopPropagationto take care of the problem you describe during the bubbling phase.
There isn't a dedicated button the user scrolls over the player to control the volume
Anyway, was just providing some feedback, no rush or anything like that.
I know thank you for saying that
They require you to provide source code which you seem to do, but their build doesn't match what you're uploading. I am not sure how to help, you probably just need to make the builds match or if there is a mismatch, where it's coming from. You're probably aware of all this, but mentioning just in case.
Yes I do, I think the vite build hashes is what caused the mismatch I've since disabled them. Thanks for trying to be helpful
There isn't a dedicated button the user scrolls over the player to control the volume
I know, Modifier+Mouse Wheel lets you control volume. All I was trying to say is that if a playback button is added in some future release, it should be relatively easy to isolate its events without interfering with the volume or other events, since you can stop propagation during bubbling phase.
There isn't a dedicated button the user scrolls over the player to control the volume
I know,
Modifier+Mouse Wheellets you control volume. All I was trying to say is that if a playback button is added in some future release, it should be relatively easy to isolate its events without interfering with the volume or other events, since you can stop propagation during bubbling phase.
Yes that makes sense