<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 28, 2018 at 11:47 AM, Ed Kelly via Pd-dev <span dir="ltr"><<a href="mailto:pd-dev@lists.iem.at" target="_blank">pd-dev@lists.iem.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-family: Helvetica\ Neue, Helvetica, Arial, Lucida\ Grande, sans-serif; font-size: 16px;"><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_19057">Hi Devs,</div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_18906"><br></div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_18908">I'm attempting to port a library of MSP externals for LPC analysis and resynthesis.</div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_18965" dir="ltr">I've come across these elements from the Max API:</div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_18928" dir="ltr"><br></div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_18967" dir="ltr"><a id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_18957" href="https://cycling74.com/sdk/max-sdk-7.3.3/html/group__misc.html#ga70766a030fcd392d4574fa59b296a68e" target="_blank">t_ptr</a> <a id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_18958" href="https://cycling74.com/sdk/max-sdk-7.3.3/html/group__memory.html#ga1c178a079247f715c6e34c828d375324" target="_blank">sysmem_newptrclear</a> (long size)</div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_18969" dir="ltr">and</div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_19288" dir="ltr">void <a id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_19012" href="https://cycling74.com/sdk/max-sdk-7.3.3/html/group__memory.html#ga200c82639e547869db1f3887d17102d3" target="_blank">sysmem_freeptr</a> (void *ptr)</div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_19060" dir="ltr"><br></div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_19262" dir="ltr">My head has hit a block, and I need to learn about how Pd deals with these aspects of memory / pointer allocation.</div><div id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_19062" dir="ltr">Do I need to just init a pointer in the code?<br></div><div dir="ltr" id="gmail-m_-842167301457305476m_5083482040980985532yui_3_16_0_ym19_1_1517152575839_18971"><span></span></div></div></div></blockquote><div><br></div><div>I guess you should use one or more of these functions from m_pd.h:<br><br>/* --------------- memory management -------------------- */<br>EXTERN void *getbytes(size_t nbytes);<br>EXTERN void *getzbytes(size_t nbytes);<br>EXTERN void *copybytes(void *src, size_t nbytes);<br>EXTERN void freebytes(void *x, size_t nbytes);<br>EXTERN void *resizebytes(void *x, size_t oldsize, size_t newsize);<br><br></div>getzbytes is probably the same as sysmem_newptrclear, and freebytes will do what sysmem_freeptr does.<br><br></div><div class="gmail_quote">Martin<br></div></div></div>