<div dir="ltr">My plugin uses an array of buffers with different lengths. I am considering options for implementation:<div><br></div><div>Programming 101 option:<br></div><div><br></div><div><font face="courier new, monospace">#define ORDER 8 // number of buffers</font></div>
<div><font face="courier new, monospace">#define MAXLEN 5000 // length of largest buffer</font></div><div><font face="courier new, monospace">float buffer[ORDER][MAXLEN];</font></div><div><font face="courier new, monospace">unsigned ptr[ORDER];</font></div>
<div><font face="courier new, monospace"><br></font></div><div>Programming 201 option:<br></div><div><br></div><div><font face="courier new, monospace">#define ORDER 8</font></div><div><font face="courier new, monospace">struct Buffer {</font></div>
<div><font face="courier new, monospace">    float *buf;</font></div><div><font face="courier new, monospace">    unsigned ptr;</font></div><div><font face="courier new, monospace">} buffer[ORDER];</font></div><div><font face="courier new, monospace">unsigned size[] = {/* list of buffer lengths */};</font></div>
<div><font face="courier new, monospace">for (unsigned i = 0; i < ORDER; i++)</font></div><div><font face="courier new, monospace">    buffer[i].buf = new float[size[i]];</font></div><div><font face="courier new, monospace"><br>
</font></div><div>Programming 301 option:</div><div><br></div><div><font face="courier new, monospace">class Buffer </font><font face="arial, helvetica, sans-serif">etc.</font></div><div><font face="arial, helvetica, sans-serif"><br>
</font></div><div><font face="arial, helvetica, sans-serif">The latter two options require dynamic allocation and freeing. Can this be safely done in </font><font face="courier new, monospace">activate</font><font face="arial, helvetica, sans-serif"> and </font><font face="courier new, monospace">deactivate</font><font face="arial, helvetica, sans-serif">? I could also do the allocation in the constructor for my plugin but, since I am using lv2-c++-tools and inheriting from the </font><font face="courier new, monospace">plugin</font><font face="arial, helvetica, sans-serif"> class, I am not sure where I can do the freeing. I hate to go with the 101 option - looks too much like my MATLAB implementation. But if it is the safest way ...</font></div>
<div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Thanks again.</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Warren</font></div>
</div>