On 26 Apr 2009, at 22:30, Kassen wrote:
Thank you.
Your're welcome. i hope this solves some of the issues you've been having.
I will have a look at it later. I was planning to take it easy - that's why I din't post a new version.
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!
You might try to play something you know well in E12, meantone (MM), and Pythagorean (P) and see if you hear the difference.
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.
OK. Of course, you are free to write in your own style :-).
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.
It is simplest to use an editor that replaces tabs with spaces. I used tab on 4 spaces for some years, until I finally felt 2 was expressive enough. One can sometimes get a lot of indentations, especially in some languages.
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.
I do not have any limit in the code I posted. One can typically only have five or so simultaneous keys on my keyboard due to limitation of key roll over, fingers, and so on. With an extra keyboard, one gets up to ten voices or so. With the BeeThree, decay can be set as short as 11 ms, though I use the more ample 16 ms. This is about the time of the shortest perceptible time bends (which is shorter than the MIDI time resolution, and possibly a reason why MIDI timing may not good enough). Hans