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