All you really need to do now is implement all the required virtual
functions that are defined in the header. Basically, play() is where the
note playing happens. It's called with a pointer to the NotePlayHandle,
which gives you all information about the note being played - frequency,
duration etc. Again see other plugins for how it's done. play() is also
called with a pointer to the sampleBuffer where you need to write your
synth output. What most synths do is they check the NotePlayHandle, if
it's m_pluginData property is null, you create a new synth instance and
attach it to the m_pluginData property in the nph. Then you call the
render function in the synth object to render the output to the
sampleBuffer. The synth object can keep track of the state of the note
it's attached to. You can keep things like phases of the oscillators in
the synth object.

Beside that, all I can tell you for now is to look at how things are
done in eg. BitInvader. Maybe look at other plugins too. If you're not
able to figure it out by looking at the code, then there's not much that
can be done... none of us have time to write the code for you, and also,
teach a man to fish and all that.

If you have some specific questions about some parts of the API, just
let me know.


------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
LMMS-devel mailing list
LMMS-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lmms-devel

Reply via email to