Is there a reasonable maximum buffer size that we can expect from a DAW for a plug in?
Is there a way to terminate a path’s lineTo without closing it as a loop?
Never make any assumptions about what a DAW will do!
And there’s no need to do anything to terminate a path - unless you close it, it is always left open.
about the line thing :
Not sure what you want, but perhaps you just want something as Graphics::drawLine (const Line& line, const float lineThickness) :
Path p; p.addLineSegment (line, lineThickness); fillPath (p);
…and if you fill a path by definition it is closed. So if you want to draw an open path use Graphics::strokePath (…) instead…
The addLineSegment is an inefficient number of newSubPaths. Thanks for the help. I will use a hack. Speed is very important to the process.
I thought that might be the case with buffer size. The DAWS have number of channels dysphoria. Can I at least assume the number of channels will not change after preparetoplay and the max buffer size will not change after preparetoplay. I currently have checks for number of channels for dynamic memory allocation in process block. Is this necessary?
Thanks all again
Yes, but be aware, that sometimes prepareToPlay is called several times while the host is negotiating the best possible busArrangement. But Fabian said he will improve that.
The max number should really be the max number. But the sample buffer might be smaller (it’s a max). So you should be able to cope with smaller buffer sizes.
But you should never change the size of your internal buffers in processBlock, because allocating or deallocating memory is not guaranteed to be finished in fixed time, so it might block the audio thread and result in dropouts.
Keep it at max size and use only the needed num of samples…
Thanks Daniel, Kalakaua (lalala with iPhone spell checker on) and Jules for clarifying those few things for me.