[Request] Add uYou player gestures (volume, seek, brightness) and in-player Loop button #238

Open
opened 2024-07-12 16:55:29 +00:00 by hoangdlnhat · 29 comments
hoangdlnhat commented 2024-07-12 16:55:29 +00:00 (Migrated from github.com)

Player gestures controls and Replay button

Player gestures controls and Replay button
bhackel commented 2024-07-12 19:46:20 +00:00 (Migrated from github.com)

Some gestures exist, what others? What is replay button, like loop?

Some gestures exist, what others? What is replay button, like loop?
KieranBLK commented 2024-07-15 15:47:15 +00:00 (Migrated from github.com)

Some gestures exist, what others? What is replay button, like loop?

The gestures that exist aren't very intuitive. Coming from uYou, it would be nice to have the same gesture layout uYou does, it's pretty much my only request as well.

Top for Volume
Middle for Brightness
Bottom for Seek (Not the native YT seeking where it's tap-hold-drag. Just direct dragging)

One finger dragging for all of them.

Also, I believe by "Replay Button" the OP means a persistent loop button in player controls overlay, just like the "Video Overlay" buttons for quality and muting.

> Some gestures exist, what others? What is replay button, like loop? The gestures that exist aren't very intuitive. Coming from uYou, it would be nice to have the same gesture layout uYou does, it's pretty much my only request as well. Top for Volume Middle for Brightness Bottom for Seek (Not the native YT seeking where it's tap-hold-drag. Just direct dragging) One finger dragging for all of them. Also, I believe by "Replay Button" the OP means a persistent loop button in player controls overlay, just like the "Video Overlay" buttons for quality and muting.
deepansharya1111 commented 2024-07-27 15:43:17 +00:00 (Migrated from github.com)

Yes! The volume seek gesture on top area of video player in uyou is beautiful. I felt only that missing, else this is better in all other terms.

Yes! The volume seek gesture on top area of video player in uyou is beautiful. I felt only that missing, else this is better in all other terms.
DefiniteCoding commented 2024-07-29 15:56:57 +00:00 (Migrated from github.com)

@bhackel I wholeheartedly wish the volume, brightness(single finger) gestures can be ported to YTlitePlus, that'd be the only missing piece for me to make it on par with revanced on Android and uYouEnhanced on iOS

@bhackel I wholeheartedly wish the volume, brightness(single finger) gestures can be ported to YTlitePlus, that'd be the only missing piece for me to make it on par with revanced on Android and uYouEnhanced on iOS
Infinitay commented 2024-07-31 04:53:53 +00:00 (Migrated from github.com)

Seconding the gestures and player overlays from uYou into YTLite. Recently I was told that YTLite will have more maintenance so I switched from uYou and i do like the simplicity and UI of YTLite, but I really miss the features of uYou especially the player overlays such as speed controls while playing the video

Seconding the gestures **and player overlays** from uYou into YTLite. Recently I was told that YTLite will have more maintenance so I switched from uYou and i do like the simplicity and UI of YTLite, but I really miss the features of uYou especially the player overlays such as speed controls while playing the video
bhackel commented 2024-07-31 05:11:18 +00:00 (Migrated from github.com)

Yes YTLite has speed controls

Yes YTLite has speed controls
Infinitay commented 2024-08-01 06:47:40 +00:00 (Migrated from github.com)

Yes YTLite has speed controls

I know we can control video speed if we click the settings cog icon on the video player, but what I am asking for is similar to uYou where there is separate buttons for the speed right under the play/pause button when you tap the player. Additionally the other features like loop and rotation lock was on the top right of the player under where the current mute/cast/captions/settings options are. I would share a picture but unfortunately I don't have uYou Enhanced anymore because I removed it and switched to YT Lite, and I couldn't find any pictures or videos on YouTube of the feature I'm describing.

> Yes YTLite has speed controls I know we can control video speed if we click the settings cog icon on the video player, but what I am asking for is similar to uYou where there is separate buttons for the speed right under the play/pause button when you tap the player. Additionally the other features like loop and rotation lock was on the top right of the player under where the current mute/cast/captions/settings options are. I would share a picture but unfortunately I don't have uYou Enhanced anymore because I removed it and switched to YT Lite, and I couldn't find any pictures or videos on YouTube of the feature I'm describing.
bhackel commented 2024-08-01 07:06:01 +00:00 (Migrated from github.com)

Yes I understand, Settings - YouTube Plus - Player - Speed Controls. I will make the loop button in some way, it won’t be the same as uYou though, and will instead be like YouMute and YouQuality. Fullscreen to the right is now a toggle that affects the fullscreen behavior (I’m not sure if it’s broken right now) instead of a button

Yes I understand, Settings - YouTube Plus - Player - Speed Controls. I will make the loop button in some way, it won’t be the same as uYou though, and will instead be like YouMute and YouQuality. Fullscreen to the right is now a toggle that affects the fullscreen behavior (I’m not sure if it’s broken right now) instead of a button
Infinitay commented 2024-08-01 07:25:20 +00:00 (Migrated from github.com)

Yes I understand, Settings - YouTube Plus - Player - Speed Controls.

I can't believe I missed that option and it was the first one too. Thank you for helping me find it.

I will make the loop button in some way, it won’t be the same as uYou though, and will instead be like YouMute and YouQuality. Fullscreen to the right is now a toggle that affects the fullscreen behavior (I’m not sure if it’s broken right now) instead of a button

That's fine anything would be okay as long as it's conveniently placed on the player overlay. Thanks for taking the time to make the feature.

> Yes I understand, Settings - YouTube Plus - Player - Speed Controls. I can't believe I missed that option and it was the first one too. Thank you for helping me find it. > I will make the loop button in some way, it won’t be the same as uYou though, and will instead be like YouMute and YouQuality. Fullscreen to the right is now a toggle that affects the fullscreen behavior (I’m not sure if it’s broken right now) instead of a button That's fine anything would be okay as long as it's conveniently placed on the player overlay. Thanks for taking the time to make the feature.
bhackel commented 2024-08-07 18:58:45 +00:00 (Migrated from github.com)

Update, I got volume gesture working. Has some bugs, like preventing other gestures, but it is good progress.

https://github.com/user-attachments/assets/eda574d1-a837-480f-83d8-b45853cc285f

Update, I got volume gesture working. Has some bugs, like preventing other gestures, but it is good progress. https://github.com/user-attachments/assets/eda574d1-a837-480f-83d8-b45853cc285f
KieranBLK commented 2024-08-07 21:30:57 +00:00 (Migrated from github.com)

Update, I got volume gesture working. Has some bugs, like preventing other gestures, but it is good progress.

Will you be able to add similar configuration to it, like how uYou has "Sensitivity" and "Speed" configs?

> Update, I got volume gesture working. Has some bugs, like preventing other gestures, but it is good progress. > Will you be able to add similar configuration to it, like how uYou has "Sensitivity" and "Speed" configs?
bhackel commented 2024-08-08 00:11:18 +00:00 (Migrated from github.com)

Yes those should be easy to implement as well

Yes those should be easy to implement as well
bhackel commented 2024-08-20 00:23:12 +00:00 (Migrated from github.com)

IMG_1563
IMG_1566
Loop Button

image
Gesture Configuration Options

Will be merging all changes within a few days

![IMG_1563](https://github.com/user-attachments/assets/67088028-7209-42c4-8d15-993cb24b09e0) ![IMG_1566](https://github.com/user-attachments/assets/cc035884-ba29-4909-be15-eb19a72fe763) Loop Button ![image](https://github.com/user-attachments/assets/fdbeb02c-d11b-42bb-90c3-01832882df4e) Gesture Configuration Options Will be merging all changes within a few days
KieranBLK commented 2024-08-20 06:32:50 +00:00 (Migrated from github.com)

Will be merging all changes within a few days

Finally!!! 👌👍

> Will be merging all changes within a few days Finally!!! 👌👍
bhackel commented 2024-08-20 07:54:10 +00:00 (Migrated from github.com)

Download here: https://github.com/YTLitePlus/YTLitePlus/actions/runs/10467538943
There are a few things that I think are annoying, but if you want to test it now, then go ahead.

Download here: https://github.com/YTLitePlus/YTLitePlus/actions/runs/10467538943 There are a few things that I think are annoying, but if you want to test it now, then go ahead.
KieranBLK commented 2024-08-20 07:59:15 +00:00 (Migrated from github.com)

Download here: https://github.com/YTLitePlus/YTLitePlus/actions/runs/10467538943

There are a few things that I think are annoying, but if you want to test it now, then go ahead.

Will do.

> Download here: https://github.com/YTLitePlus/YTLitePlus/actions/runs/10467538943 > > There are a few things that I think are annoying, but if you want to test it now, then go ahead. Will do.
KieranBLK commented 2024-08-20 08:39:18 +00:00 (Migrated from github.com)

Download here: https://github.com/YTLitePlus/YTLitePlus/actions/runs/10467538943 There are a few things that I think are annoying, but if you want to test it now, then go ahead.

Functionality wise, it works well, but there are definitely a few tweaks that could be made going forward.
[Bugs]

  1. Volume and Seek bar don’t animate as smoothly as they should, a bit glitchy (see video)
  2. Seek bar has a delay before appearing on screen when dragging (approximately 1 second before it appears)
  3. Seek bar doesn’t remain on screen while dragging, it times-out
  4. When dragging the seekbar itself, the gesture is also active at the same time which causes some odd behavior with the bar visuals
  5. When changing dead zone and sensitivity settings, the UI doesnt update with the selected options until you exit the menu and go back in.

[Suggestions]

  1. uYou has a sort of.. smoothen effect to the dragging not sure if you can add that in, it’s fine if you can’t.
  2. Option to disable Haptic feedback
  3. Option to disable chapter snapping while dragging seekbar
  4. More sensitivity options, 2.5 or 3.0 should be enough?

100% appreciate the work that went into this. This is like genuinely useful. Thank you!!! 😁

https://streamable.com/j3xaxr

> Download here: https://github.com/YTLitePlus/YTLitePlus/actions/runs/10467538943 There are a few things that I think are annoying, but if you want to test it now, then go ahead. Functionality wise, it works well, but there are definitely a few tweaks that could be made going forward. [Bugs] 1. Volume and Seek bar don’t animate as smoothly as they should, a bit glitchy (see video) 2. Seek bar has a delay before appearing on screen when dragging (approximately 1 second before it appears) 3. Seek bar doesn’t remain on screen while dragging, it times-out 4. When dragging the seekbar itself, the gesture is also active at the same time which causes some odd behavior with the bar visuals 5. When changing dead zone and sensitivity settings, the UI doesnt update with the selected options until you exit the menu and go back in. [Suggestions] 1. uYou has a sort of.. smoothen effect to the dragging not sure if you can add that in, it’s fine if you can’t. 2. Option to disable Haptic feedback 3. Option to disable chapter snapping while dragging seekbar 4. More sensitivity options, 2.5 or 3.0 should be enough? 100% appreciate the work that went into this. This is like genuinely useful. Thank you!!! 😁 https://streamable.com/j3xaxr
bhackel commented 2024-08-20 14:02:59 +00:00 (Migrated from github.com)

Pretty much agree with everything you have mentioned.

  1. I’m using a very hacky implementation to change volume, likely causes lag
  2. Also using a hacky implementation for seek
  3. ^
  4. I did not know about this, that is definitely something to fix
  5. UI not updating was weird, I will have to look into other ways of creating the settings UI
  6. Smoothing is possible yes
  7. Definitely will add an option for haptics
  8. I think changing the method used to seek will also make it easier to not chapter snap
  9. I think I will try to match the sensitivity to uYou, then I can add some higher settings yes

Another thing I found, you can seek into negative time

Pretty much agree with everything you have mentioned. 1. I’m using a very hacky implementation to change volume, likely causes lag 2. Also using a hacky implementation for seek 3. ^ 4. I did not know about this, that is definitely something to fix 5. UI not updating was weird, I will have to look into other ways of creating the settings UI 6. Smoothing is possible yes 7. Definitely will add an option for haptics 8. I think changing the method used to seek will also make it easier to not chapter snap 9. I think I will try to match the sensitivity to uYou, then I can add some higher settings yes Another thing I found, you can seek into negative time
bhackel commented 2024-08-26 07:44:25 +00:00 (Migrated from github.com)

https://github.com/user-attachments/assets/7a3756ea-180e-48d3-a70d-3690a83b086a

I’ve done a good amount of changes in this version:

  1. New seek method that is the same as dragging the bar. This is much cleaner and less glitchy
  2. Added a check for overlapping gestures, to solve the issue with double seek gesture recognition
  3. Added a toggle for initial haptic feedback
  4. Removed ending haptic feedback
  5. Added smoothing filter to reduce stuttering with all gestures. The volume in landscape is a little bit off still, but I think it is good enough.
  6. Tripled the default sensitivity to match uYou’s defaults.

Some bugs I have noticed:

  1. The stutters in landscape volume gesture
  2. Some weird behavior can cause volume gesture to not apply, such as changing the playback being used or something.

Merging soon

Download here: https://github.com/bhackel/YTLitePlus/actions/runs/10555896693

https://github.com/user-attachments/assets/7a3756ea-180e-48d3-a70d-3690a83b086a I’ve done a good amount of changes in this version: 1. New seek method that is the same as dragging the bar. This is much cleaner and less glitchy 2. Added a check for overlapping gestures, to solve the issue with double seek gesture recognition 3. Added a toggle for initial haptic feedback 4. Removed ending haptic feedback 5. Added smoothing filter to reduce stuttering with all gestures. The volume in landscape is a little bit off still, but I think it is good enough. 6. Tripled the default sensitivity to match uYou’s defaults. Some bugs I have noticed: 1. The stutters in landscape volume gesture 2. Some weird behavior can cause volume gesture to not apply, such as changing the playback being used or something. Merging soon Download here: https://github.com/bhackel/YTLitePlus/actions/runs/10555896693
KieranBLK commented 2024-08-26 12:03:53 +00:00 (Migrated from github.com)

Awesome! Here's a few other issues I noticed.

  1. (Old, didn't have time to report it earlier), Gestures are still active when engagement overlays are on screen. Video: https://streamable.com/ia7pib

  2. Smoothing/inertia seems to cause the seek bar to continue for a bit in the direction you were dragging, after you stop and go in the opposite direction.

Suggestions:

  1. uYou allows gestures to work in the MiniPlayer, this might of just been an unintentional thing Miro just flew with but if you can swing it without it being a burden that'd be nice.

  2. Put a notice that changes to settings require a restart to apply in the settings page.

Awesome! Here's a few other issues I noticed. 1. (Old, didn't have time to report it earlier), Gestures are still active when engagement overlays are on screen. Video: https://streamable.com/ia7pib 2. Smoothing/inertia seems to cause the seek bar to continue for a bit in the direction you were dragging, after you stop and go in the opposite direction. Suggestions: 1. uYou allows gestures to work in the MiniPlayer, this might of just been an unintentional thing Miro just flew with but if you can swing it without it being a burden that'd be nice. 2. Put a notice that changes to settings require a restart to apply in the settings page.
bhackel commented 2024-08-26 15:39:01 +00:00 (Migrated from github.com)
  1. Oh I forgot about engagement overlays. Maybe I will try to whitelist certain gesture recognizers instead of blacklisting
  2. The inertia thing might be intentional, but I can play around with the intensity of it to improve it. Maybe a setting.
  3. I can look into making it work in the miniplayer
  4. Can also add a restart notification

Bugs remaining

  1. Settings page does not update after changing something

Thanks for your help with this. Lots of useful feedback, really appreciate it.

1. Oh I forgot about engagement overlays. Maybe I will try to whitelist certain gesture recognizers instead of blacklisting 2. The inertia thing might be intentional, but I can play around with the intensity of it to improve it. Maybe a setting. 3. I can look into making it work in the miniplayer 4. Can also add a restart notification Bugs remaining 1. Settings page does not update after changing something Thanks for your help with this. Lots of useful feedback, really appreciate it.
KieranBLK commented 2024-08-26 16:40:35 +00:00 (Migrated from github.com)
  1. The inertia thing might be intentional, but I can play around with the intensity of it to improve it. Maybe a setting.

This is likely an unintended side effect, the way I worded it might not have gotten it through clearly.

When you stop dragging while still holding the bar, and then seek in the opposite direction the bar will continue to move in the opposing direction than your dragging.

Ex: I drag to the right, then stop (still holding the seek bar), i then drag to the left, the seek bar will continue to move to the right for a short while and then move to the left.

Not exactly sure if it's related to the inertia thats just my guess because that's the kind of effect it seems to give when it's doing this. Maybe the application of inertia gets ignored when you stop dragging while still holding the bar and then gets applied when you drag again hence why it continues in the opposite direction.

Hopefully this helps clarify.

> 2. The inertia thing might be intentional, but I can play around with the intensity of it to improve it. Maybe a setting. > This is likely an unintended side effect, the way I worded it might not have gotten it through clearly. When you stop dragging while still holding the bar, and then seek in the opposite direction the bar will continue to move in the opposing direction than your dragging. Ex: I drag to the right, then stop (still holding the seek bar), i then drag to the left, the seek bar will continue to move to the right for a short while and *then* move to the left. Not exactly sure if it's related to the inertia thats just my guess because that's the kind of effect it seems to give when it's doing this. Maybe the application of inertia gets ignored when you stop dragging while still holding the bar and then gets applied when you drag again hence why it continues in the opposite direction. Hopefully this helps clarify.
KieranBLK commented 2024-08-26 16:51:22 +00:00 (Migrated from github.com)
  1. Oh I forgot about engagement overlays. Maybe I will try to whitelist certain gesture recognizers instead of blacklisting

As for this, maybe a solution would be to blacklist Volume, Seek, and Brightness gestures when the suggested videos overlay is present until it's dismissed, and for the sidebar overlay, you can scale the gestures with the viewport so they can only be recognized when swiping over the video and not the overlay?

I believe this is how uYou gets it to work properly and with the MiniPlayer, the gesture recognizers are actually linked to the viewport itself and scale accordingly along with it.

> 1. Oh I forgot about engagement overlays. Maybe I will try to whitelist certain gesture recognizers instead of blacklisting > As for this, maybe a solution would be to blacklist Volume, Seek, and Brightness gestures when the suggested videos overlay is present until it's dismissed, and for the sidebar overlay, you can scale the gestures with the viewport so they can only be recognized when swiping over the video and not the overlay? I believe this is how uYou gets it to work properly and with the MiniPlayer, the gesture recognizers are actually linked to the viewport itself and scale accordingly along with it.
KieranBLK commented 2024-08-28 15:31:40 +00:00 (Migrated from github.com)

Ex: I drag to the right, then stop (still holding the seek bar), i then drag to the left, the seek bar will continue to move to the right for a short while and then move to the left.

It would appear that this applies to all gestures.

Also, I recently switch back to uYou to do a quick comparison between the implementations and theres a few things I noticed that could use some improvement

  1. With uYou, when seeking, all player overlays are hidden, the only thing visible is the seek bar, absolutely nothing else. This helps to clearly preview the video when dragging. Definitely a needed change. (Video: https://streamable.com/7cu2vt)

  2. The max sensitivity/speed doesnt match uYou's, I think bumping the max range up to 2.5x should do it.

  3. The smoothing could use a bump up by 3%.

> Ex: I drag to the right, then stop (still holding the seek bar), i then drag to the left, the seek bar will continue to move to the right for a short while and *then* move to the left. > It would appear that this applies to all gestures. Also, I recently switch back to uYou to do a quick comparison between the implementations and theres a few things I noticed that could use some improvement 1. With uYou, when seeking, all player overlays are hidden, the only thing visible is the seek bar, absolutely nothing else. This helps to clearly preview the video when dragging. Definitely a needed change. (Video: https://streamable.com/7cu2vt) 2. The max sensitivity/speed doesnt match uYou's, I think bumping the max range up to 2.5x should do it. 3. The smoothing could use a bump up by 3%.
bhackel commented 2024-08-28 16:00:46 +00:00 (Migrated from github.com)

One of the reasons why I didn’t copy the seek uYou gesture completely was because their implementation does not pause playback when seeking. This results in sponsor block preventing you from going backwards over sponsored segments.
I can definitely add more sensitivity options.
For smoothing, I’ll probably use a different implementation that does not have as many issues. Will work on it this weekend likely.

One of the reasons why I didn’t copy the seek uYou gesture completely was because their implementation does not pause playback when seeking. This results in sponsor block preventing you from going backwards over sponsored segments. I can definitely add more sensitivity options. For smoothing, I’ll probably use a different implementation that does not have as many issues. Will work on it this weekend likely.
KieranBLK commented 2024-08-28 19:36:41 +00:00 (Migrated from github.com)

One of the reasons why I didn’t copy the seek uYou gesture completely was because their implementation does not pause playback when seeking. This results in sponsor block preventing you from going backwards over sponsored segments.

To me it appears you're using the native YouTube seeking and just linking a gesture control to it, hence why it works like regularly dragging the seek bar which is why all the overlays appear. Is there no way to simply just hide all HUD elements when gesturing? That would seem like a simple solution while still maintaining the native seeking implementation instead of a custom one like uYou, which should lead to less problems down the line.

> One of the reasons why I didn’t copy the seek uYou gesture completely was because their implementation does not pause playback when seeking. This results in sponsor block preventing you from going backwards over sponsored segments. > To me it appears you're using the native YouTube seeking and just linking a gesture control to it, hence why it works like regularly dragging the seek bar which is why all the overlays appear. Is there no way to simply just hide all HUD elements when gesturing? That would seem like a simple solution while still maintaining the native seeking implementation instead of a custom one like uYou, which should lead to less problems down the line.
KieranBLK commented 2024-09-08 16:35:40 +00:00 (Migrated from github.com)

Should I be expecting any future updates on this or is development on an indefinite pause?

Should I be expecting any future updates on this or is development on an indefinite pause?
Balackburn commented 2024-09-08 16:42:16 +00:00 (Migrated from github.com)

Should I be expecting any future updates on this or is development on an indefinite pause?

No they will be updates, it's been a day since last commit, and the latest release is 5 days old.

> Should I be expecting any future updates on this or is development on an indefinite pause? No they will be updates, it's been a day since last commit, and the latest release is 5 days old.
Infinitay commented 2024-09-09 03:27:09 +00:00 (Migrated from github.com)

Should I be expecting any future updates on this or is development on an indefinite pause?

No they will be updates, it's been a day since last commit, and the latest release is 5 days old.

I think they were referring specifically to this feature since bhackel was seemingly the one dev working on this issue AFAIK (did a quick skim of the commit history and of course he was active in this issue). Since bhackel is taking an indefinite break due to what happened with YouTube Plus, will either you or arichornlover take over hopefully?

> > Should I be expecting any future updates on this or is development on an indefinite pause? > > No they will be updates, it's been a day since last commit, and the latest release is 5 days old. I think they were referring specifically to this feature since bhackel was seemingly the one dev working on this issue AFAIK (did a quick skim of the commit history and of course he was active in this issue). Since bhackel is taking an indefinite break due to what happened with YouTube Plus, will either you or arichornlover take over hopefully?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Creepso/YTLitePlus#238
No description provided.