I do alot of debugging at work (I try to break applications
) So I've been playing around with this one. I'll continue to post bugs as I run across them, if you don't mind.
Here's what I've found so far:
1. If the user sets tempo to 0, the time sig error is raised even if the time sig has been entered correctly.
2. In the above scenario, once the error is displayed, all textboxes remain locked so the user is unable to edit the tempo.
3. The "Tap Tempo" never resets itself after it's tapped the first time. You should prob have it reset after 4 or 5 seconds so that any tap after that is considered the first tap again. Also you could have it default to a minimum of 30 BPM if, while tapping, the calculation comes out to less than 30 (since most people will never use tempos this low and certainly not any lower)
4. This one's more of a request rather than a bug. When deleting or backspacing through the BPM box, it defaults to 0, and the cursor is placed behind the "0" so that if you then type 120, it turns out to be 1200. I would recommend either running the validation after "Start" is clicked, or changing it so that if all characters are deleted, it defaults to 30 but highlights all characters so that if anything else is typed, the 30 is completely overwritten.
By the way, it's looking pretty good. Nice job.