<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">What about Pure Data C externs?<div class="">How are they loaded into Pure Data? Are they in readable form?</div><div class=""><br class=""></div><div class="">-Matti</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 07 May 2016, at 23:19, Jonathan Wilkes <<a href="mailto:jancsika@yahoo.com" class="">jancsika@yahoo.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><div style="background-color: rgb(255, 255, 255); font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 16px;" class=""><div id="yui_3_16_0_ym19_1_1462645463176_19737" dir="ltr" class="">If your aim is to create a compiler for Pd patches (JIT or otherwise, </div><div id="yui_3_16_0_ym19_1_1462645463176_19737" dir="ltr" class="">proprietary or otherwise), I have the same faith in Miller sitting down and </div><div id="yui_3_16_0_ym19_1_1462645463176_19737" dir="ltr" class="">writing a formal language spec for Pd as I do in you succeeding.</div><div id="yui_3_16_0_ym19_1_1462645463176_19737" dir="ltr" class=""><br class=""></div><div id="yui_3_16_0_ym19_1_1462645463176_19737" dir="ltr" class="">-Jonathan</div><div id="yui_3_16_0_ym19_1_1462645463176_19737" dir="ltr" class=""><br class=""></div> <div class="qtdSeparateBR"><br class=""><br class=""></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" class=""> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" class=""> <div dir="ltr" class=""><font size="2" face="Arial" class=""> On Saturday, May 7, 2016 3:33 PM, Matti Viljamaa <<a href="mailto:mviljamaa@kapsi.fi" class="">mviljamaa@kapsi.fi</a>> wrote:<br class=""></font></div>  <br class=""><br class=""> <div class="y_msg_container"><div id="yiv9570485480" class=""><div class=""><div class="yiv9570485480">It’s just that e.g. VSTs are fundamentally a limited format compared to Pure Data patches.</div><div class="yiv9570485480">There are some modular VST hosts, but not much something like Reaktor that combines both</div><div class="yiv9570485480">high- and low-level and customisation in the same environment.</div><div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">At the KVR audio there was a late interest in developing perhaps yet another such platform:</div><div class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="http://www.kvraudio.com/forum/viewtopic.php?f=33&t=461790">http://www.kvraudio.com/forum/viewtopic.php?f=33&t=461790</a></div><div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">-Matti</div><br clear="none" class="yiv9570485480"><div class=""><blockquote class="yiv9570485480" type="cite"><div class="yiv9570485480yqt8311506865" id="yiv9570485480yqtfd66956"><div class="yiv9570485480">On 07 May 2016, at 22:24, Scott R. Looney <<a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:scottrlooney@gmail.com" target="_blank" href="mailto:scottrlooney@gmail.com">scottrlooney@gmail.com</a>> wrote:</div><br clear="none" class="yiv9570485480Apple-interchange-newline"><div class="yiv9570485480"><div class="yiv9570485480" dir="ltr">hi Matti - the only thing i've seen that is something similar to what you're asking is the Heavy toolchain from Enzien Audio based on the online Tannhauser compiler. it can convert a PD patch into C++ where it can then be used as a plugin for different platforms, including in game audio middleware. the service is a commercial service if the product you're planning to use is commercial in nature. at that point you could use it in something like JUCE to do what you need to make it a full plugin or standalone app. many commercial companies use PD or Max to prototype what they eventually sell as commercial software. Joe White is on the list and may have more info than me on commercial uses of Heavy: <a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://enzienaudio.com/">https://enzienaudio.com/</a><div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">scott</div></div><div class="yiv9570485480gmail_extra"><br clear="none" class="yiv9570485480"><div class="yiv9570485480gmail_quote">On Sat, May 7, 2016 at 12:13 PM, Matti Viljamaa <span class="yiv9570485480" dir="ltr"><<a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:mviljamaa@kapsi.fi" target="_blank" href="mailto:mviljamaa@kapsi.fi">mviljamaa@kapsi.fi</a>></span> wrote:<br clear="none" class="yiv9570485480"><blockquote class="yiv9570485480gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="yiv9570485480" style="word-wrap:break-word;">Or even straight C -> binary and then have Pd open the binary as patch.<span class="yiv9570485480HOEnZb"><font class="yiv9570485480" color="#888888"></font></span><div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">-Matti</div><div class="yiv9570485480"><div class="yiv9570485480h5"><div class="yiv9570485480"><br clear="none" class="yiv9570485480"><div class="yiv9570485480"><blockquote class="yiv9570485480" type="cite"><div class="yiv9570485480">On 07 May 2016, at 22:01, Matti Viljamaa <<a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:mviljamaa@kapsi.fi" target="_blank" href="mailto:mviljamaa@kapsi.fi">mviljamaa@kapsi.fi</a>> wrote:</div><br clear="none" class="yiv9570485480"><div class="yiv9570485480"><div class="yiv9570485480" style="word-wrap:break-word;">Anyone know if compiling Pd patch to C could offer a possibility, e.g. as an extension of Pd?<div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">There are some around:</div><div class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="http://resenv.media.mit.edu/PuDAC/sw.html">http://resenv.media.mit.edu/PuDAC/sw.html</a></div><div class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://github.com/sharebrained/pd_compiler">https://github.com/sharebrained/pd_compiler</a></div><div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">So patch -> C -> binary and then have Pd somehow open the binary as patch?</div><div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">-Matti</div><div class="yiv9570485480"><br clear="none" class="yiv9570485480"><div class="yiv9570485480"><blockquote class="yiv9570485480" type="cite"><div class="yiv9570485480">On 07 May 2016, at 21:08, Matti Viljamaa <<a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:mviljamaa@kapsi.fi" target="_blank" href="mailto:mviljamaa@kapsi.fi">mviljamaa@kapsi.fi</a>> wrote:</div><br clear="none" class="yiv9570485480"><div class="yiv9570485480"><div class="yiv9570485480" style="word-wrap:break-word;">I think being open to commercial development could make it attractive to develop e.g. high quality oscillators and filters for Pd.<div class="yiv9570485480">Commercial synthesisers and effects are often better than freeware.<br clear="none" class="yiv9570485480"><div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">Reaktor has a lot of good free ensembles, but development wise its also more refined product (i.e. the development ought to be less painful).</div><div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">I think it’d be interesting to be able to have a platform where one can combine open source and commercial “modules”. Best of the both worlds, so to speak.</div><div class="yiv9570485480"><br clear="none" class="yiv9570485480"></div><div class="yiv9570485480">-Matti</div><div class="yiv9570485480"><div class="yiv9570485480"><br clear="none" class="yiv9570485480"><div class="yiv9570485480"><blockquote class="yiv9570485480" type="cite"><div class="yiv9570485480">On 07 May 2016, at 21:04, Pagano, Patrick <<a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:pat@digitalworlds.ufl.edu" target="_blank" href="mailto:pat@digitalworlds.ufl.edu">pat@digitalworlds.ufl.edu</a>> wrote:</div><br clear="none" class="yiv9570485480"><div class="yiv9570485480">



<div class="yiv9570485480">
<div class="yiv9570485480">But as I suspected it sounds like your intention is to sell pd patches back to the community?</div>
<div class="yiv9570485480"><br clear="none" class="yiv9570485480">
</div>
<div class="yiv9570485480">Have you seen </div>
<div class="yiv9570485480">Monolog X</div>
<div class="yiv9570485480"><br clear="none" class="yiv9570485480">
<br clear="none" class="yiv9570485480">
<div class="yiv9570485480">Patrick Pagano B.S, M.F.A
<div class="yiv9570485480">Interactive Media & Education</div>
<div class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" href="">+1352.226.2016</a></div>
<div class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://patrickrpagano.wordpress.com/">https://patrickrpagano.wordpress.com/</a></div>
<div class="yiv9570485480"><br clear="none" class="yiv9570485480">
</div>
</div>
</div>
<div class="yiv9570485480"><br clear="none" class="yiv9570485480">
On May 7, 2016, at 1:37 PM, Matti Viljamaa <<a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:mviljamaa@kapsi.fi" target="_blank" href="mailto:mviljamaa@kapsi.fi">mviljamaa@kapsi.fi</a>> wrote:<br clear="none" class="yiv9570485480">
<br clear="none" class="yiv9570485480">
</div>
<blockquote class="yiv9570485480" type="cite">
<div class="yiv9570485480"><span class="yiv9570485480">What about using Pd as a C/C++ library and writing the patch that way? Or perhaps LibPd?</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">Would this allow the patch to be compiled as a stand-alone program? Yes?</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">The easiest would be if there was a way to open a patch in binary form in Pd.</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">What I’ve been envisioning would be to create “modules” for Pd similar to Reaktor’s Blocks that would</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">allow for a more high-level patching and usage of Pd. And it could motivate developers to develop patches</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">in a more standardized “blocks” form, rather than as unstandardised patches.
</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">Reason, I’ve been wanting to see modular synthesis properly realised in Pd. But I wouldn’t want to</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">spend effort on developing modules that I cannot profit from, since I could do that using some other platform.</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">-Matti</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">On 07 May 2016, at 20:29, Miller Puckette <<a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:msp@ucsd.edu" target="_blank" href="mailto:msp@ucsd.edu">msp@ucsd.edu</a>> wrote:</span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">You'd have to modify Pd if you want to be able to run patches and</span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">keep it a secret how the patch works.  I don't think people often feel the</span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">need to do that but it wouldn't be hard to do.</span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">cheers</span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">Miller</span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">On Sat, May 07, 2016 at 08:14:05PM +0300, Matti Viljamaa wrote:</span><br clear="none" class="yiv9570485480">
</blockquote>
<blockquote class="yiv9570485480" type="cite">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">But how do you close and distribute a Pd patch so it’s not viewable? Can you open a Pd patch distributed as binary?</span><br clear="none" class="yiv9570485480">
</blockquote>
</blockquote>
<blockquote class="yiv9570485480" type="cite">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
</blockquote>
</blockquote>
<blockquote class="yiv9570485480" type="cite">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">I only found this:</span><br clear="none" class="yiv9570485480">
</blockquote>
</blockquote>
<blockquote class="yiv9570485480" type="cite">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
</blockquote>
</blockquote>
<blockquote class="yiv9570485480" type="cite">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">How do I compile a Pd-patch to run as a stand-alone application?</span><br clear="none" class="yiv9570485480">
</blockquote>
</blockquote>
<blockquote class="yiv9570485480" type="cite">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://puredata.info/docs/faq/standalone">https://puredata.info/docs/faq/standalone</a> <<a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://puredata.info/docs/faq/standalone">https://puredata.info/docs/faq/standalone</a>></span><br clear="none" class="yiv9570485480">
</blockquote>
</blockquote>
<blockquote class="yiv9570485480" type="cite">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
</blockquote>
</blockquote>
<blockquote class="yiv9570485480" type="cite">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480">-Matti</span><br clear="none" class="yiv9570485480">
</blockquote>
</blockquote>
<blockquote class="yiv9570485480" type="cite">
<blockquote class="yiv9570485480" type="cite"><span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
</blockquote>
</blockquote>
<span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480"></span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">_______________________________________________</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:Pd-list@lists.iem.at" target="_blank" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list</span><br clear="none" class="yiv9570485480">
<span class="yiv9570485480">UNSUBSCRIBE and account-management -> <a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://lists.puredata.info/listinfo/pd-list">
https://lists.puredata.info/listinfo/pd-list</a></span><br clear="none" class="yiv9570485480">
</div>
</blockquote>
</div>

</div></blockquote></div><br clear="none" class="yiv9570485480"></div></div></div></div>_______________________________________________<br clear="none" class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:Pd-list@lists.iem.at" target="_blank" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list<br clear="none" class="yiv9570485480">UNSUBSCRIBE and account-management -> <a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://lists.puredata.info/listinfo/pd-list">https://lists.puredata.info/listinfo/pd-list</a><br clear="none" class="yiv9570485480"></div></blockquote></div><br clear="none" class="yiv9570485480"></div></div>_______________________________________________<br clear="none" class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:Pd-list@lists.iem.at" target="_blank" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list<br clear="none" class="yiv9570485480">UNSUBSCRIBE and account-management -> <a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://lists.puredata.info/listinfo/pd-list">https://lists.puredata.info/listinfo/pd-list</a><br clear="none" class="yiv9570485480"></div></blockquote></div><br clear="none" class="yiv9570485480"></div></div></div></div><br clear="none" class="yiv9570485480">_______________________________________________<br clear="none" class="yiv9570485480">
<a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:Pd-list@lists.iem.at" target="_blank" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list<br clear="none" class="yiv9570485480">
UNSUBSCRIBE and account-management -> <a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://lists.puredata.info/listinfo/pd-list">https://lists.puredata.info/listinfo/pd-list</a><br clear="none" class="yiv9570485480">
<br clear="none" class="yiv9570485480"></blockquote></div><br clear="none" class="yiv9570485480"></div>
_______________________________________________<br clear="none" class="yiv9570485480"><a rel="nofollow" shape="rect" class="yiv9570485480" ymailto="mailto:Pd-list@lists.iem.at" target="_blank" href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list<br clear="none" class="yiv9570485480">UNSUBSCRIBE and account-management -> <a rel="nofollow" shape="rect" class="yiv9570485480" target="_blank" href="https://lists.puredata.info/listinfo/pd-list">https://lists.puredata.info/listinfo/pd-list</a><br clear="none" class="yiv9570485480"></div></div></blockquote></div><div class="yiv9570485480yqt8311506865" id="yiv9570485480yqtfd24968"><br clear="none" class="yiv9570485480"></div></div></div><br class=""><div class="yqt8311506865" id="yqtfd71350">_______________________________________________<br clear="none" class=""><a shape="rect" ymailto="mailto:Pd-list@lists.iem.at" href="mailto:Pd-list@lists.iem.at" class="">Pd-list@lists.iem.at</a> mailing list<br clear="none" class="">UNSUBSCRIBE and account-management -> <a shape="rect" href="https://lists.puredata.info/listinfo/pd-list" target="_blank" class="">https://lists.puredata.info/listinfo/pd-list</a><br clear="none" class=""></div><br class=""><br class=""></div>  </div> </div>  </div></div></div></div></blockquote></div><br class=""></div></body></html>