Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tempo and Pitch adjustment options with a button like design instead of flat text based #8962

Open
6 tasks done
desmonk opened this issue Sep 12, 2022 · 30 comments
Open
6 tasks done
Assignees
Labels
accessibility Issue is related to accessibility feature request Issue is related to a feature in the app GUI Issue is related to the graphical user interface

Comments

@desmonk
Copy link

desmonk commented Sep 12, 2022

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

The interface here have option to adjust tempo and pitch but they have a flat text based layout instead of some kind of clickable buttons. With little bit of design change there, we can know visualize much better as for now they just look like video statistics menu.

Why do you want this feature?

To enhance the visibility of the tempo and pitch functions giving users the ability to differentiate with ease by having more understanding about the app usability.

Additional information

Just a simple layout change can do wonders for users. Below is just an example.

IMG_21739813

@desmonk desmonk added feature request Issue is related to a feature in the app needs triage Issue is not yet ready for PR authors to take up labels Sep 12, 2022
@desmonk desmonk changed the title Tempo and Pitch adjustment options with a button like design instead of falt text based Tempo and Pitch adjustment options with a button like design instead of flat text based Sep 12, 2022
@opusforlife2 opusforlife2 added GUI Issue is related to the graphical user interface accessibility Issue is related to accessibility and removed needs triage Issue is not yet ready for PR authors to take up labels Sep 17, 2022
@opusforlife2
Copy link
Collaborator

Accessibility-enabled users would probably want easily distinguishable buttons too.

@u7280973
Copy link

Hey, could I work on this issue? :))

@opusforlife2
Copy link
Collaborator

@u7280973 Sure! Could you post a screenshot of your proposed design?

@u7280973
Copy link

Perhaps something like this?

image

@opusforlife2
Copy link
Collaborator

Looks nice, @u7280973! What about dark theme? And black theme as well, now that I think about it?

@u7280973
Copy link

Something like this? Black theme has the same design as dark theme.

image

@opusforlife2
Copy link
Collaborator

Awesome! Can the red colours be made the same for the seekbar and the buttons, though? The difference isn't noticeable in light theme, but looks weird in the dark theme.

Also, the dotted border is rounded in the dark theme. Should be the same across themes, no?

@u7280973
Copy link

Sounds good, I'll fix the dark theme one. And yeah, I think the rounder border looks a bit better, would you agree? Here's what I'm thinking for light and dark theme:
image
image

@opusforlife2
Copy link
Collaborator

Great! I think I prefer the sharp corners, but that's a personal preference. Anyway, this is a good point to open a PR. Further discussion can be done there.

@SameenAhnaf
Copy link
Collaborator

SameenAhnaf commented Oct 26, 2022

What do you guys think about this layout? Speed button may interchange among Speed, Pitch(Semitones), Pitch(Percent)

IMG_20221026_135051

@opusforlife2
Copy link
Collaborator

This UI looks like you're supposed to choose between Step and Speed.

@SameenAhnaf
Copy link
Collaborator

Well, yes, do all sliders need to be shown all the time?

@opusforlife2
Copy link
Collaborator

What I meant is: the UI indicates that you're supposed to switch between 2 menus, 'Speed' and 'Step'. When you say that Speed itself will be a 3-state toggle, then it becomes highly non-intuitive for the user. Choose one. Multi-state toggles, or switchable menus.

@Stypox
Copy link
Member

Stypox commented Oct 27, 2022

You have a point there. Most of the times one wants to just change one of the sliders at a time.

I don't think that exact layout is the best one, but we can work on it. What do you think of this one?

Tapping on the "±5%" would bring up a popup menu allowing to choose the step percent (assuming this is an action that the user performs really rarely).
Tapping on the "Tempo" would bring up a popup menu allowing to switch between different types of sliders (tempo, pitch - tones, pitch - percent). I don't know if this is easily discoverable.

Oh, maybe at that point the "unhook" should be given a more explanatory name, e.g. "Tune tempo and pitch independently (may cause distorsions)". The "(may cause distorsions)" part is probably not needed.

@opusforlife2
Copy link
Collaborator

opusforlife2 commented Oct 27, 2022

Tapping on the "Tempo" would bring up a popup menu

This is also what I had in mind. I don't think this will be difficult to discover. Android has plenty of popup menus indicated by a down arrow. In fact, to make it easier, the entire row/area should be made tappable, so that the user is more likely to accidentally tap it and discover the menu.

Having said that, I would like its position more towards the top-right, where Sameen's pic has Step and Speed. It will allow the title "Playback parameters" to be shown.

Also, the +-5% button is hard to discover. It could have a border or some other colour to differentiate it.

"unhook" should be given a more explanatory name

"Unlink speed and pitch"

@Stypox
Copy link
Member

Stypox commented Oct 27, 2022

I agree with all of the things you said. Maybe to make the ±5% button more discoverable we could just add a down arrow there, too.

@opusforlife2
Copy link
Collaborator

Let's try that and compare screenshots.

@Stypox
Copy link
Member

Stypox commented Oct 27, 2022

@opusforlife2
Copy link
Collaborator

Looks great!

@SameenAhnaf
Copy link
Collaborator

I think, tempo drop-down menu should have four options. While accessing the drop-down menu, sliders should be hidden until any option is selected.

  1. Tempo
  2. Pitch (Decimal)
  3. Pitch (Semitones)
  4. Step

@Stypox
Copy link
Member

Stypox commented Oct 27, 2022

What does step mean? Why would step be a slider?

@SameenAhnaf
Copy link
Collaborator

Step wouldn't be a slider. Blue, Yellow or green rows would be shown if tempo, pitch or step is selected respectively.

IMG_20221027_231215

@opusforlife2
Copy link
Collaborator

I don't think that would help. Step is for modifying the values shown in the sliders, not actually affecting video playback. So at least one slider should stay visible while the step size is changed for the effect to be clear.

@SameenAhnaf
Copy link
Collaborator

Suppose, you have chosen a Tempo option and now you want to adjust Step. Clicking on any option such as 1% should automatically bring the user back to Tempo menu.

Similarly, the user will be brought to pitch slider if Pitch was adjusted right before adjusting Step.

@opusforlife2
Copy link
Collaborator

That also introduces a problem. If a user wants to change the steps multiple times, they would have to keep changing menus again and again.

@SameenAhnaf
Copy link
Collaborator

Isn't that problem still persistent in case of #8962 (comment)?

Another solution could be making ±5% icon selected. Whenever, the icon is selected, upward arrow will user to go ±10%, ±25%, ±50% & ±100%. In case of downward arrow, it will go to ±1%. When selected, how the step option would look like as in screenshot .

Once the user starts changing tempo or pitch, the step option would be in white text in black background.

IMG_20221028_004134

@opusforlife2
Copy link
Collaborator

Isn't that problem still persistent in case of #8962 (comment)?

No, there you can easily see the step size change being applied as you tap the arrows. You don't need to change menus if you don't like the current value, you merely tap the % button and select a new one.


One thing I'm unaware about is if these are standard Android behaviours. The closer we are to common and standardised behaviour, the better.

@SameenAhnaf
Copy link
Collaborator

You don't need to change menus if you don't like the current value

That still involves double click though every single time someone wants to change step.

The closer we are to common and standardised behaviour, the better.

This is the common behavior as far as I know. I have never seen a separate step toggle except on Newpipe app and its forks.

The only disadvantage of the screenshot layout is that the slider is quite big. We can put two checkboxes and Reset, Cancel and Ok at the bottom.

IMG_20221028_012218

@opusforlife2
Copy link
Collaborator

I like this one. ^

@tsilvs
Copy link

tsilvs commented May 10, 2024

It might be more convenient to have fixed playback tempo rate options as buttons and/or as equal value steps.

For example, here's a playback speed controls menu from "Global Speed" browser extension:

Global Speed extension menu

These buttons are customizable presets:

4 rows

1 row

Changed menu

Similar example with presets approach is AntennaPod podcast listening app, which has these "tempo / playback speed" controls:

AntennaPod podcast listening app "tempo / playback speed" controls

Tempo slider could also have snapping to position behavior, where unequal / odd / irregular fractions (e.g. N.03, N.11, etc.) can be skipped.

HTML equivalent of that could be <input type="range" min="0" max="3" value="1" step="0.25" id="tempo">

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility Issue is related to accessibility feature request Issue is related to a feature in the app GUI Issue is related to the graphical user interface
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants