AEFeinstein / Super-2022-Swadge-FW

MIT License
10 stars 8 forks source link

Metronome & Tuner Mode #34

Closed AEFeinstein closed 3 years ago

AEFeinstein commented 4 years ago

TODO: @PF3k to read through and confirm/propose changes

Summary What is the feature all about?

Technical Spec What peripherals will be used, and how?

Metronome mode:

Tuner mode:

What are the display screens & menus (if applicable)?

Metronome mode:

Tuner mode:

Are there wifi requirements? No.

UI What do the buttons do in all states?

Metronome mode:

Tuner mode:

How to Test How can we verify the feature is working?

Find someone who knows how to music.

Yeet? Yeet.

Brycey92 commented 4 years ago

@AEFeinstein Can I get access to edit that description?

AEFeinstein commented 4 years ago

Added you as a collaborator to the project

Brycey92 commented 4 years ago

Thanks! Filled it out to the best of my non-musical knowledge.

AEFeinstein commented 4 years ago

Screen will display current frequency, maybe with some graphic representation of a metronome

I'd do something like this, where the blue represents the arc of the black arm, and it ticks back and forth. One point of the line is fixed at the bottom middle and the second point is along a circle, so it should be relatively easy to calculate. plotLine() will do the rest of the work. You'll still need to put the BPM somewhere, maybe right in the middle?

image

Can you make mockups? If you use text it should be 10px tall.

The only think that's missing is a way to exit to the main menu. Maybe the left button exits and the right button flips between tuner and metronome?

The metronome may also want a way to change the rhythm, not just the tempo. I'm not sure how you'd represent that on the OLED, but colors would work on the LEDs. You can play around with online metronomes, but pf3k would have more insight here.

Brycey92 commented 4 years ago

Am I drawing that arc too, or just the arm?

What about all-4 or all-5 buttons to exit?

I've never used a metronome that can change rhythm, so someone else would have to explain that one to me or write the code :sweat_smile:

AEFeinstein commented 4 years ago

Try drawing just the arm, see how it looks. If you don't like it, you can draw the arc!

For complexity reasons, I'd rather not use button combos before eliminating redundant buttons (left/right).

For rhythm, check out this online metronome. Note how you can adjust tempo as expected, and also "Beats per measure." That's what I'm getting at.

AEFeinstein commented 4 years ago

@Brycey92 what are your TODOs here? It seems kind of... feature complete?