Skip to content

Implement customisable drag dials #9736

@Jazztache

Description

@Jazztache

Checklist

  • I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I have read the FAQ and my problem isn't listed.
  • I'm aware that this is a request for NewPipe itself and that requests for adding a new service need to be made at NewPipeExtractor.
  • I have taken the time to fill in all the required details. I understand that the feature request will be dismissed otherwise.
  • This issue contains only one feature request.
  • I have read and understood the contribution guidelines.

Feature description

NewPipe for Android has a feature where you can drag the screen in order to increase the brightness or volume. I personally don't like the brightness slider for this, and I usually just use the system volume.

Since I use the tempo option more often, and I occasionally need to turn that all the way up for speeding through videos

In this case, I would replace it with playback speed, which I frequently have to go into the dropdown menu to customise.

The solution is to have a settings menu options called 'Gestures', which allows you to set what the right and left swipe dials do. Any 'floating point' variable should be allowed including

  • volume (already exists as right-side swipe)
  • brightness (already exists as left-side swipe)
  • playback speed
  • pitch
  • resolution
  • e.t.c.
  • off/none

This will allow for more customisation, and will allow for less menu-ing, especially in the case of resolution or playback speed. You could also theoretically bind actions or toggles to this like downloads or captions, but that may be out of scope.

TL;DR Allow us to change what the drag dials change, instead of having them hardcoded to brigtness and volume respectively.

Why do you want this feature?

This is for convienience, namely to cut back on menu navigation for long-term use. You could be able to set your preferences and then save a huge amount of menuing. The example above with binding tempo to the right dial would save the three taps it takes to click the playback speed, adjust the slider, and then hit ok.

You can let users reduce three-step actions like that into a swipe.

Additional information

For Tempo (playback speed) and Pitch, you will have to make new icons to fit the centre of the dial. This includes other variables that do not have custom icons right now. You'll also probably want to implement limit variables like const tempoMax = 3.00f or const tempoMin = 0.10f, instead of just using percentages.

Another idea that I would like to present are more niche things like captions. i.e. Captions Size. This is one of the items where I would let it be 0 as to hide it.

If it's a floating point variable, and it can be customised in a menu, let us bind it to the dials. However, please implement pitch, tempo and resolution first. They seem to require the most menu-ing (extensive menu navigation) out of the ones accessible from the dropdown. On the fly resolution adjustment would be good for data saving, tempo for quicker viewing, and pitch because it's in the same window as tempo and suffers the same menu-ing issues.

Finally, let us unbind a dial to nothing. Some people don't like the swipe actions, I presume. Thankyou!

P.S.

Thankyou, NewPipe! You guys are awesome, and thanks for making such a useful app. Running it on /e/OS, and it's nice not being forced to use the proprietary YT client. 😄

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIIssue is related to the graphical user interfacefeature requestIssue is related to a feature in the appplayerIssues related to any player (main, popup and background)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions