Hans;
Thank you.
Your're welcome. i hope this solves some of the issues you've been having.
I have been focusing on implementing octave shifts, transpositions, and different tuning systems, but I add a copy here of what I currently have. The playing area has been extended with a few keys, and some bug fixing.
Sound good!
I use a fairly common, more compact C/C++ style.
Yes, I know you style is more common, I find I benefit from taking more space for added (subjective) clarity so I find that way more clear. I wanted to stick to your style but I got mixed up in some nesting so I edited it a bit (ok... a lot). No critique was implied; it was just me being lazy.
I also avoid using tabs, instead using two spaces, which are expressive enough. Unix tabs are traditionally set at 8 spaces, which is too much, and there seems to be no good way to avoid it set at that in various circumstances.
Yes, I understand. I like tabs as they save on the keystrokes though I do set my editors to use 4 spaces per tab for display. Sometimes I use two spaces when writing directly in emails or forum posts as web browsers like to use the tab for different purposes but this was a bit too much editing and I wanted to make sure it ran.
I haven't had any problems with CPU overload in the code in the attached code. I have tried it for extended periods of time.
You'll probably be able to turn the number of voices up a bit; 5 is really quite modest. Kas.