<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>