I finally took the time to look at the version with root/type pasrameter. Some thoughts:
1) Someone pointed out in another thread that it's a good idea to put the date and author in the code, to keep track of versions if nothing else.
2) It looks WAY better with the unicode characters for the finger-spots. Apparently Eliseat had problems copying and pasting the unicode. So the effect didn't work for her, and the spots didn't show up. If this happens, you can fix it by entering the unicode characters directly into the editor yourself. See
https://en.wikipedia.org/wiki/Unicode_input, or just google "enter unicode character windows", "enter unicode character OSX", or whatever. You may need to install a font. See also the webdings workaround upthread. But if you're serious about making instructional videos, you need to get unicode characters working on your computer. It shouldn't be that hard. Here's what you want to end up with:
Code:
solidSpot = "⬤"; hollowSpot = "⭕"; ex = "✖"; // unicode 2B24, 2B55 and 2716
3) Look, everyone, if you play I - IV - V in F, you want to call the IV chord a Bb chord. Calling it an A# chord is really confusing, and just plain wrong. You might say, what's the difference, A# major and Bb major sound the same. Well, it's like writing "C mayjurr". Sure, mayjurr and major sound the same, but mayjurr is weird and jarring, and just plain wrong. And even if
you don't mind A#, not everyone will agree with you. It's much better to give the user the choice of A# vs. Bb.
4) Currently, when a chord goes up above the 5th fret, it gets chopped off. For those chords, the fret numbers need to be decreased and the "starting fret" parameter needs to be set appropriately. This puts everything in a 4-fret range, so the default # of frets can be lowered from 5 to 4.
5) The chord frettings are somewhat arbitrary. Sometimes you want to play A7 as 002020 and sometimes as 002223.
I reached the character limit for posts in this forum, so the actual code will be in the next post. I fixed everything except for #5.
Changes:
Added the date & the authors to the 2nd line
Moved the param stuff to the top of the code, easier to find
Added the unicode characters back in
Got rid of the loop at the end for the 2 unused barres, more efficient
Fixed the root naming problem
Fixed the starting fret problem
Removed the knobs for numFrets and startFret, since they are no longer needed
Set the # of frets down to 4, more compact