Hi Hywelg,
While there is small bug that we're fixing for the next relese that has to do with diatonic and the level of the guitar, what you are describing here isn't a bug, it's just what occurs when the diatonic pitchshifter has to make a decision about how to shift. I'll explain…..
First for individual notes:
If you are shifting a 3rd up, the diatonic algorithm must decide whether or not to flat that 3rd based on the scale decree you are playing. In the case of a C input (in the key of CMaj), it doesn't flat the 3rd to create the appropriate major 3rd interval, so it shifts to E. In the case of E, it does flat the third to create the appropriate minor 3rd interval, so it shifts to G.
Now for playing notes together:
We've never made the claim that diatonic is completely polyphonic. When you play and C and E together the shifter must decide which 3rd to shift on. It chooses the most obvious choice of the lower note, the C in your case. Because of this the E is shifted a major third too. But as the C energy dies out, the pitch shifter recognizes the E and then makes the correct diatonic descision for that note, the minor 3rd or G in your case. If you always want just a major 3rd no matter what key you are in, use the Harmodulator or Pitchflex algorithms. If this all you want, these 2 algorithms will work brilliantly.
Does this help?
Russ