Skip to content

Conversation

borkymcgee
Copy link

@borkymcgee borkymcgee commented Jul 15, 2023

Swipe up to switch the arc to a counter to make precise BPMs easier to input
Swipe down to switch back to the arc

Implements fix proposed in #1191 (comment)
Resolves #1191

image image

@github-actions
Copy link

github-actions bot commented Jul 15, 2023

Build size and comparison to main:

Section Size Difference
text 377024B 224B
data 940B 0B
bss 63420B 0B

…o 40 when a swipe begins below the "BPM" text"

Commit introduces a bug wherein one cannot decrement the counter
This reverts commit 4dff952.
@minacode
Copy link
Contributor

minacode commented Aug 2, 2023

Two UIs seem like one too much for such a restricted device. I agree with the solution, though. Do you think the bpb setting could be made into a slimmer counter widget right of the tempo counter as well? With a long play/pause button underneath?

@borkymcgee borkymcgee closed this Aug 3, 2023
@borkymcgee
Copy link
Author

Oops! Misclicked blush sorry!

@borkymcgee borkymcgee reopened this Aug 3, 2023
@borkymcgee
Copy link
Author

@minacode I think you can have arbitrarily sized counter elements, so you COULD probably do that.

I'm not sure it's a good idea though:

-I think it'd look garish
-That's a lot of little touch buttons for one small screen
-I'm not sure there are any problems with the dropdown as-is, it seems a good UI fit for the application

@minacode
Copy link
Contributor

minacode commented Aug 6, 2023

Ok, fair points. I almost never use the metronome, so maybe I should not argue too much about its usability.

  1. This is the only drop-down in the whole code base, right? Could we make the UI more consistent and remove some lvgl code if we replace it? The diff of the resulting image would be interesting.
  2. The argument regarding too much stuff is not that valid, because the time settings or the alarm have the same UI with two counters.

@FintasticMan FintasticMan added the enhancement Enhancement to an existing app/feature label Aug 11, 2023
@borkymcgee
Copy link
Author

I don't use the metronome function either, so it's hard to know what usability is like

I was imagining the bpb counter being smaller than the bpm one, since it's less important. I like the way the current design puts the bpm front and center and big, with bpb and start/stop smaller. It gives the app a simple, clean feel.

If we can figure out a good alternative, removing the dropdown might be a good idea, especially since it's a bit buggy (#1806).

@Baggypants
Copy link

Baggypants commented Jan 6, 2024

I want to use the metronome but it's current input is utterly hopeless, so I don't. Tapping the requested bpm in binary coded decimal using morse code would be better ux than what you have currently in 1.14.0

Having an 'up' only button that increments every value between 0 and 600 and loops round to zero would be more accurate, and faster.

@Baggypants
Copy link

What about using the input method for the stop watch, move to colon to be between the 3rd and 4th element so the first three would set hundreds, tens and units and the 4th one would be 0-9 for beat. Sure anyone who has a piece in 11/4 or 17/4 might complain but I'd suggest they already have bigger problems.

@vkareh
Copy link
Contributor

vkareh commented Jan 31, 2024

Honestly I think using an arc is the wrong widget for precise input. It works for something like the shake calibration because it's a gradual sensitivity thing. It works for steps because it's a visual read-only widget.

It does not work to select precise bpm values. In my opinion it should be an up/down input only, then you can create side-by-side bpm and bpb widgets and solve both issues in one shot.

@mark9064
Copy link
Member

The one thing I like about the arc is that keying in the BPM approximately is pretty fast - ideally you want to be able to quickly select any frequency (roughly) in the range and then refine it.

I'm not totally sure what'd work better though. Does tap tempo still work with this branch? I think tapping to set it approximately and then refining with the spinner would be OK

@NeroBurner NeroBurner added this to the 1.16.0 milestone Mar 14, 2025
@NeroBurner
Copy link
Contributor

just got bit by the not precise enough input to the metronome. I don't know if this PR is the best way to solve the issue, but it is much better than just the arc.

Adding it to Milestone 1.16.0 to get some eyes on the PR

@borkymcgee would you be interested to rebase the PR on the current main branch?

@minacode
Copy link
Contributor

minacode commented May 16, 2025

To give this some direction: if you will build the app only with the second screen with the +-number input, tapping on the number as alternative input and the bpm as a simple button that cycles through numbers (2-8?; like the "once"/"mon-fri"/"daily" button for the alarm), I will approve it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Enhancement to an existing app/feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Metronome: Setting a specific tempo is difficult

7 participants