<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Dear list,<br>
<br>
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.<br>
<br>
I followed <a
href="http://www.nongnu.org/ll-plugins/lv2pftci/#A_synth">the
great "complete idiot" tutorial</a> and was really astonished by
the concise and powerful code it presented.<br>
The results are <a
href="https://bitbucket.org/xaccrocheur/ksi/src/0ffef787ca04?at=master">here</a>,
I just removed the delay. <br>
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.<br>
<br>
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.<br>
<br>
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). <br>
I'd also like to change the waveform type from square to sine (and
ideally experiment with other waveforms).<br>
<br>
Can somebody please point me towards the info that would allow me to
understand how to do this?<br>
<br>
I downloaded and built the complete LV2 specifications, and am
currently reading the docbook, and the <a
href="http://lv2plug.in/ns/lv2core/">API doc</a>, but I fail to
see how I can use <a
href="http://lv2plug.in/ns/lv2core/#PitchPlugin">this object</a>
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 <tt>lv2:ControlPort</tt>
than sliders.<br>
<br>
Thank you for your patience.<br>
<br>
--<br>
Phil CM <br>
</body>
</html>