Werner, thanks for merging, and lasconic, thanks for adding the extra 
comment!

I'm still interested in taking this further, with the ultimate goal 
being that the user can type anything within reason and have everything 
work - including good rendering -  whether the chord can be matched to a 
predefined chord id or not.  The more I look at what's already in the 
code and think through how this could work, the more I believe it's 
actually not so far to get there.

I still have somewhat limited time over the next few weeks.  Also, I'd 
like to figure out how to get a debugger running before continuing 
rather than having to rely exclusively on qDebug statements, so I'll 
probably be asking for help with that on IRC at some point.  But bottom 
line, I don't plan to start coding any of this right away.

I am instead focusing first on updating the writeup I did on my proposal 
a few months back.  Whereas the original was kind of unfocused, I am 
trying to make this as specific as possible in terms of what changes 
actually need to be made.  That way others can work on it if they see 
fit, and I won't forget what I had in mind if it takes me a while to get 
to any of it.

I had explicitly shared this with the people I knew were likely to be 
interested / affected / involved, but I don't recall if I also posted 
the link for general consumption.  Here it is:

https://docs.google.com/document/d/1Q7LXHDSkQb70xmcyquFSiSv_lGbOXMDwzn_24-n7qJw/edit?usp=sharing

I'm still working on it, but the bulk of it is there and should 
hopefully make sense.  I invite comments, including offers to knock out 
any portions of it!

Marc