<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt">Hello Andrei.<br><br>The Ninja Jamm patch has moved on a bit since then, but there are some things you should note.<br><br>1) Events can be encapsulated but audio paths cannot if you want the greatest efficiency from your target device (e.g. iPhone 4 - the minimum platform for Ninja Jamm). But try not to encapsulate below one level below the master patch, even for event-based subpatched, if you don't want to glitch.<br>2) you will probably have to write a few externals of your own if you cannot get the functions you need from vanilla Pd, and these need to be wrapped into the compilation of the app. Look at http://pdstatic.iem.at/externals-HOWTO/ for more info on how to write an external for Pure Data. Alternatively it is worth checking out the rjlib material from RJDJ at https://github.com/rjdj
 - v.good abstractions! <br>I don't make the GUI for Ninja Jamm but...<br>3) the way a libpd patch is controlled by a GUI is by send and receive objects in Pd.<br>In my experience it is normal to make the objects in the GUI non-callback - i.e. if the GUI objects receive a message from Pd they do not send it back to Pd, but if a message is sent to the Pd patch it can send one back to the GUI.<br><br>I hope this helps.<br><br>Best wishes,<br>Ed<br><br><br><div><span><br></span></div><div>&nbsp;<br><br><br></div><div>Ninja Jamm - a revolutionary new music remix app from Ninja Tune and Seeper, for iPhone and iPad<br>http://www.ninjajamm.com/</div><div><br><br></div><div>Gemnotes-0.2: Live music notation for Pure Data, now with dynamics!<br>http://sharktracks.co.uk/&nbsp;</div><div style="display: block;" class="yahoo_quoted"> <br> <br> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 12pt;"> <div
 style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> On Tuesday, 26 November 2013, 22:13, Andrei Branea &lt;andrei.branea09@bathspa.ac.uk&gt; wrote:<br> </font> </div> <blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <div class="y_msg_container"><div id="yiv7310514855"><div dir="ltr">







<div class="yiv7310514855">Hi Ed,</div>
<div class="yiv7310514855">My name is Andrei Branea and I recently graduated Creative Music Technology at Bath Spa University.&nbsp;<br></div>
<div class="yiv7310514855">I've been working with Pd during the last few years. Your Pd work is really impressive, I remember having discovered Metastudio a couple of years ago, when I was looking at projects presented at the PD conventions, and at the time the patches were above my level of understanding.<br>
</div>
<div class="yiv7310514855">I recently discovered your work for the Seeper Ninja Tune app. I would like to learn more about making and integrating Pd patches in apps using libpd, to get in touch with apps developers and propose the addition of procedural audio to their apps.&nbsp;<br>
</div>
<div class="yiv7310514855">I had a look at the screenshot of the patch (<a rel="nofollow" target="_blank" href="http://createdigitalmusic.com/files/2013/04/np-PD-patch-of-Ninja-Jamm-code-audio-engine.gif">http://createdigitalmusic.com/files/2013/04/np-PD-patch-of-Ninja-Jamm-code-audio-engine.gif</a>), and I found it striking that so much is on the main patch without using encapsulation. I would appreciate if you could share your experience about current limitations, challenges related to communication between Pd and the operating system, and maybe other issues you have found essential in integrating Pd as audio engine.&nbsp;<br>
</div>
<div class="yiv7310514855">Please reply whenever you can spare a minute, it's not urgent, but actual insight to the development process and understanding of it is very valuable to me.<br></div>
<div class="yiv7310514855">All the best,<br></div>
<div class="yiv7310514855">Andrei.</div></div></div><br><br></div> </blockquote>  </div> </div>   </div> </div></body></html>