Dear list,

I need a synth with a pitch control. A synth that can be controlled to produce all tones between one note and another, say from a2 to c3 in an anti-aliased way, like what you would get in pd by altering the pitch of a sine wave. Touwiiiii.

I followed the great "complete idiot" tutorial and was really astonished by the concise and powerful code it presented.
The results are here, I just removed the delay.
This is my first steps in C++, or in audio programming altogether (but I've been coding in PHP, Lisp and sh for years, and wrote two music players in JS and HTML, oh and a wrote an ultrabasic sample-based drum machine java applet ages ago) so I'm reading a lot about it currently. Please bear with me if I say something really dumb.

In order to understand how I can achieve what I want, I'd like to implement a pitch bend function. You know, the classic, two tone down and up of the physical MIDI keyboards, that all LV2 synth plugins I tried have.

For that I guess I need 1-a control port (but no widget, since I would only be controlling it physically) and 2-a function that acts upon the pitch (most probably in the Beep class).
I'd also like to change the waveform type from square to sine (and ideally experiment with other waveforms).

Can somebody please point me towards the info that would allow me to understand how to do this?

I downloaded and built the complete LV2 specifications, and am currently reading the docbook, and the API doc, but I fail to see how I can use this object to alter the pitch, or for example, change the waveform type (that may well be outside the scope of the LV2 framework, of for that matter the LV2::Synth template) or even create other lv2:ControlPort than sliders.

Thank you for your patience.

--
Phil CM