<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>body{font-family:Helvetica,Arial;font-size:13px}</style>
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
Hi,</div>
<p class="airmail_on" style="color:#000;">On 15 July 2015 at 11:57:17, katja (<a href="mailto:katjavetter@gmail.com">katjavetter@gmail.com</a>) wrote:</p>
<blockquote type="cite" class="clean_bq"><span>
<div>
<div></div>
<div>Hi Jamie, <br>
<br>
Thanks for your response. I cloned the repo to see the history, and <br>
noticed a tendency of simplification: FFTW replaced by Ooura, <br>
autotools build system replaced by makefiles. Nice! In fact the whole <br>
library looks much simpler than one would expect for the given <br>
functionality. Even the Pd and MaxMSP wrappers were amazingly small <br>
and simple files. <br>
<br>
</div>
</div>
</span></blockquote>
<div><br>
</div>
<div>Thanks. It’s good to know my attempts to “keep it simple” are appreciated :)</div>
<div><br>
</div>
<div>
<div>
<blockquote type="cite" class="clean_bq" style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
<span>
<div>
<div>For a library so systematic as LibXtract it makes sense to avoid<span class="Apple-converted-space"> </span><br>
wrapper code duplication. But will the extra complexity and overhead<span class="Apple-converted-space"> </span><br>
of Flext be justified in the case of these two wrapper externals plus<span class="Apple-converted-space"> </span><br>
corresponding makefiles?<span class="Apple-converted-space"> </span></div>
</div>
</span></blockquote>
</div>
<p>Do you mean runtime overhead or maintenance overhead? I’ve never set out to measure the runtime overhead of Flext, but my impression is that it’s insignificant and certainly I’ve never noticed it. But if there is evidence suggesting otherwise, I’d be interested
 to know about it.</p>
<p>In terms of maintenance / build complexity, since commit 73bd8015 Flext is greatly simplified (through the use of C++ templates), requiring only a single header include; no more building and link static libraries! This means to support a flext external only
 two steps are needed: 1. add the Flext repository as a git submodule, 2. include flext.h</p>
<div>
<div>
<blockquote type="cite" class="clean_bq" style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">
<span>
<div>
<div>If the build system is your main concern,<span class="Apple-converted-space"> </span><br>
there may be a way to use a helper makefile like this for the Pd<span class="Apple-converted-space"> </span><br>
external and adapt (arguments for) it to build the MaxMSP version:<span class="Apple-converted-space"> </span><br>
https://github.com/pure-data/pd-lib-builder.<span class="Apple-converted-space"> </span></div>
</div>
</span></blockquote>
</div>
<p>I guess my concern is that I’m planning to move _all_ of my externals over to Flext so I only have one API to think about. I would therefore need a compelling reason to make an exception.</p>
<p>BTW, I’m planning to support a wider range of F0 detection methods, including at some point your own Helmholtz algorithm.</p>
<p>best,</p>
<p>Jamie</p>
<div><br class="Apple-interchange-newline">
</div>
</div>
</div>
<p><br>
</p>
</body>
</html>