<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Honestly, I'm not going to rehash *all* of the discussions about paths, but I do feel like writing some perspective, at least as far as I see it as a user, someone who has taught Pd a bit, and someone who has now worked on it.<div class=""><br class=""></div><div class=""># Standard Paths<br class=""><div class=""><br class=""></div><div class="">What I will point out is that, in most ways, "standard path" is a misnomer in Pd.<div class=""><br class=""></div><div class="">These we originally added as essentially hardcoded search paths:</div><div class=""><br class=""></div><div class=""><a href="https://github.com/pure-data/pure-data/blob/master/src/s_path.c#L243" class="">https://github.com/pure-data/pure-data/blob/master/src/s_path.c#L243</a></div><div class=""><br class=""></div><div class="">Linux:</div><div class="">~/.local/lib/pd/extra/</div><div class="">~/pd-externals</div><div class="">/usr/local/lib/pd-externals</div><div class=""><br class=""></div><div class="">macOS:</div><div class="">~/Library/Pd</div><div class=""><br class=""></div><div class="">Windows:</div><div class="">%AppData%/Pd</div><div class="">%CommonProgramFiles%/Pd</div><div class=""><br class=""></div><div class="">And I believe Pd's own bundled "extra" path is one of these as well.<br class=""><div class=""><br class=""></div><div class="">"Hey that's great!" says everyone "Now I can just plop things in there!"</div><div class=""><br class=""></div><div class="">...except that things change over the years.</div><div class=""><br class=""></div><div class="">The "Library" folder in the macOS user home folder has been hidden by default for some years now. Whoops, easy to find place gone for Mac people. "Oh but they can just put stuff in extra" ...except that "extra" is located INSIDE the macOS .app bundle, so now we need to ask beginners to literally OPEN an app they download and add files INSIDE. Hmmmm not scary at all?</div><div class=""><br class=""></div><div class="">For Windows people, where is that again? Kind of obscure for some people as well.</div><div class=""><br class=""></div><div class="">Linux makes the most sense, but how many users want a "pd-externals" folder in their home folder and how many beginners are going to navigate to /usr/local/lib/pd-externals?</div><div class=""><br class=""></div><div class=""># User Search Paths</div><div class=""><br class=""></div><div class="">So moving forward, people can add their own user search paths aka not one of the hardcoded "standard paths" which are mostly obscure / hard to find for beginners. Then they can define their OWN place to plop externals. Great!</div><div class=""><br class=""></div><div class="">...except that beginners have to manually create their own folder, add it to the user search paths, and then it works. How many people do this right on the first go? Maybe not a big deal, but another stumbling block.</div><div class=""><br class=""></div><div class=""># Deken</div><div class=""><br class=""></div><div class="">As Pd-extended slowy dies out, deken is introduced to help with decentralized externals. Great! We have a tool to help download and install pre-buitd externals.</div><div class=""><br class=""></div><div class="">...but where do we put them? Originally, deken downloaded to the bundled extra folder because it was the only "standard path" known to exist on all systems. Great!</div><div class=""><br class=""></div><div class="">...except macOS people STILL are downloading and installing things INSIDE the Pd .app bundle. So when you delete the .app and replace it with a new version of Pd, you've lost all of your externals and you may not know why if you've only ever downloaded things with deken.</div><div class=""><br class=""></div><div class="">Sure, you can specify a deken download location but it's yet another step to ask beginners to have created such a location, add it to their user search path, AND specify that deken should use it. I think the early versions of deken, you had to manually choose the download location on EVERY download.</div><div class=""><br class=""></div><div class=""># Documents Directory</div><div class=""><br class=""></div><div class="">After prodding from other Pd users on this list who also teach Pd, the Documents Directory was added as a helper to create a user search path for both beginners to use AND provide a default deken download location (~/Documents/Pd/externals) which is also added to the user search paths on creation. Beginners now have a basic place to start with and externals downloaded form deken should be found via declare.</div><div class=""><br class=""></div><div class="">The ~/Documents/Pd location was chosen as it mirrors the locations chosen by various other "creative coding" environments such as Processing (~/Documents/Processing) and Arduino (~/Documents/Arduino). If the documents directory is enabled, Pd GUI dialogs also open here by default instead of in the user home folder.</div><div class=""><br class=""></div><div class="">This is not a replacement for the previous "standard paths" but sort of a "super user search path" that can be created for you, if you want.</div><div class=""><br class=""></div><div class="">If you hate this, you can click NO when it asks or disable it in the Paths preferences, and curse me as I wrote the plugin which provides this functionality.</div><div class=""><br class=""></div><div class="">For posterity, the full background on this feature is here: <a href="https://github.com/pure-data/pure-data/pull/152" class="">https://github.com/pure-data/pure-data/pull/152</a></div><div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class="">On Feb 26, 2021, at 12:58 AM, <a href="mailto:pd-list-request@lists.iem.at" class="">pd-list-request@lists.iem.at</a> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Message: 3</span><br style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Date: Thu, 25 Feb 2021 23:48:23 +0000 (UTC)</span><br style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">From: Sebastian Shader <</span><a href="mailto:sebfumaster@aol.com" style="font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">sebfumaster@aol.com</a><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">></span><br style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">To: "</span><a href="mailto:pd-list@lists.iem.at" style="font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">pd-list@lists.iem.at</a><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">" <</span><a href="mailto:pd-list@lists.iem.at" style="font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">pd-list@lists.iem.at</a><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">></span><br style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Subject: Re: [PD] Best practices for [declare]</span><br style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Message-ID: <</span><a href="mailto:2025038600.476357.1614296903882@mail.yahoo.com" style="font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">2025038600.476357.1614296903882@mail.yahoo.com</a><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">></span><br style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Content-Type: text/plain; charset="utf-8"</span><br style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Monaco; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">why is it that using standard install locations isn't encouraged (or rather, why did it move into Documents of all places?)</span></div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">--------</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">Dan Wilcox</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://twitter.com/danomatika" class="">@danomatika</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://danomatika.com" class="">danomatika.com</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a href="http://robotcowboy.com" class="">robotcowboy.com</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><br class="Apple-interchange-newline">
</div>
<br class=""></div></div></div></div></body></html>