<div dir="ltr"><div><div><div><div><div><div><div>Wow! Found a feature I didn't know existed. <br><br></div><div>Just to recap: <br></div><div>My problem is that I want to distrubute a complex patch,<br></div><div>but I do not know all of the dependencies. <br>So I want to build a list of such. <br></div><div><br></div><b>In Pd version 0.46.7 (and perhaps others),<br></b><br></div><div style="margin-left:40px">Edit -> Preferences -> Path<br>Check "verbose".<br></div></div><br></div>Now when you load a patch, it shows you a ton of spew on the <br></div>Pd Console window, as it tries to find every object.<br><br></div>Now you get stuff like this:<br><br>tried C:/Users/BH/Music/pd/BHPDToolkitNEW/BHPDtoolkit-master/BHPDtoolkit-master/patches/EvenOddSynth~.m_i386 and failed<br>tried C:/Users/BH/Music/pd/BHPDToolkitNEW/BHPDtoolkit-master/BHPDtoolkit-master/abstractions/EvenOddSynth~.m_i386 and failed<br>tried C:/Program Files (x86)/pd-0.43.4-extended/extra/freeverb~/EvenOddSynth~.m_i386 and failed<br>tried C:/Program Files (x86)/pd-0.43.4-extended/extra/cyclone/EvenOddSynth~.m_i386 and failed<br>tried C:/Program Files (x86)/pd-0.43.4-extended/extra/iemlib/EvenOddSynth~.m_i386 and failed <br></div>.<i><b>.. (snipped 951 lines!!)...</b></i><br><div>tried C:/Users/BH/AppData/Roaming/Pd/output~/output~.dll and failed<br>tried C:/Program Files (x86)/Common Files/Pd/output~/output~.dll and failed<br>tried C:/Program Files (x86)/Pure Data-0.46-7/extra/output~/output~.dll and failed<br>tried C:/Users/BH/Music/pd/BHPDToolkitNEW/BHPDtoolkit-master/BHPDtoolkit-master/patches/output~.pd and failed<br>tried C:/Users/BH/Music/pd/BHPDToolkitNEW/BHPDtoolkit-master/BHPDtoolkit-master/abstractions/output~.pd and <b>succeeded</b><br><div><div><div><div><div><div><div><div class="gmail_extra"><br></div><div class="gmail_extra">.... but that's fine with me!!  A little shell scripting and I get a list of all the objects used <br></div><div class="gmail_extra">and exactly the pathname to them. PERFECT!<br><br></div><div class="gmail_extra">Be prepared for a lot of output. My patch produced 3758 such lines!<br><br></div><div class="gmail_extra">So it may not produce a dependency <i><b>tree</b></i> like I originally asked for, <br></div><div class="gmail_extra">but I guess that's not what I really wanted. <br><br></div><div class="gmail_extra">Hope this helps someone else... <br></div><div class="gmail_extra">BH<br></div><div class="gmail_extra"><br><br><br><div class="gmail_quote">On Mon, Jun 6, 2016 at 4:52 PM, William Huston <span dir="ltr"><<a href="mailto:williamahuston@gmail.com" target="_blank">williamahuston@gmail.com</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 dir="ltr"><div><div><div><div><div></div>My idea is, I want to distribute a patch. <br><br></div>But I build my patches with layers of abstractions.<br><br></div>So I want to make a recursive map of the dependency tree,<br></div>including any external libraries needed, so I can know<br></div><div>what needs to be included when I distribute the patch.<br></div><div><br>Has anyone tried this?<br><br></div><div>I will probably do this with an external program,<br></div><div>probably Perl (not within Pd). <br></div><div><br></div><div>First it seems I really need to understand how to <br></div><div>Pd does conflict resolution in case of name clashes. <br></div><div><br></div><div>Next, it seems one must know the search path. <br></div><div><br>This is a bit easier on Linux systems b/c it just<br></div><div>requires parsing a flat file. <br><br></div><div>On Windows it requires parsing the Registry <br></div><div>(which I admit is still a big mystery for me).<br><br></div><div>On My machine, I am finding the search path here:<br></div><div><br>HKEY_USERS\S-1-5-21-1970324843-3388967453-2642309065-1000\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Pd\<br><br></div><div>npath=12 means 12 directories to search, each being<br></div><div>path1=(path1)<br></div><div>path2=(path2)<br>...<br></div><div>path12=(path12)<br><br></div><div>I also find this repeated here:<br></div><div><br></div><div><div><div><div><div><div><div><div>HKEY_USERS\S-1-5-21-1970324843-3388967453-2642309065-1000_Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Pd<br clear="all"><div><br></div><div>One question is, where does this strange string come from?<br></div><div>Is this guaranteed to be the same on every Windows systems?<br></div><div><br>S-1-5-21-1970324843-3388967453-2642309065-1000<br>S-1-5-21-1970324843-3388967453-2642309065-1000_Classes<br><br></div><div>Ugh. Anyway, just looking for some general guidance here.<br><br></div><div>Thanks,<br></div><div>BH<span class=""><font color="#888888"><br></font></span></div><span class=""><font color="#888888"><div><br>-- <br><div data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">--<br>
May you, and all beings<br>
be happy and free from suffering :)<br>
-- ancient Buddhist Prayer (Metta)<br></div></div></div></div>
</div></font></span></div></div></div></div></div></div></div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">--<br>
May you, and all beings<br>
be happy and free from suffering :)<br>
-- ancient Buddhist Prayer (Metta)<br></div></div></div></div>
</div></div></div></div></div></div></div></div></div></div>