<br><br><div class="gmail_quote">On Thu, Mar 28, 2013 at 9:48 PM, Hans-Christoph Steiner <span dir="ltr">&lt;<a href="mailto:hans@at.or.at" target="_blank">hans@at.or.at</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On 03/28/2013 07:17 AM, András Murányi wrote:<br>
&gt; On Thu, Mar 28, 2013 at 12:42 PM, SourceForge.net<br>
&gt; &lt;<a href="mailto:noreply@sourceforge.net">noreply@sourceforge.net</a>&gt;wrote:<br>
&gt;<br>
&gt;&gt; Patches item #3609350, was opened at 2013-03-28 04:42<br>
&gt;&gt; Message generated for change (Tracker Item Submitted) made by zmoelnig<br>
&gt;&gt; You can respond by visiting:<br>
&gt;&gt;<br>
&gt;&gt; <a href="https://sourceforge.net/tracker/?func=detail&amp;atid=478072&amp;aid=3609350&amp;group_id=55736" target="_blank">https://sourceforge.net/tracker/?func=detail&amp;atid=478072&amp;aid=3609350&amp;group_id=55736</a><br>


&gt;&gt;<br>
&gt;&gt; Please note that this message will contain a full copy of the comment<br>
&gt;&gt; thread,<br>
&gt;&gt; including the initial issue submission, for this request,<br>
&gt;&gt; not just the latest update.<br>
&gt;&gt; Category: puredata<br>
&gt;&gt; Group: bugfix<br>
&gt;&gt; Status: Open<br>
&gt;&gt; Resolution: None<br>
&gt;&gt; Priority: 5<br>
&gt;&gt; Private: No<br>
&gt;&gt; Submitted By: IOhannes m zmölnig (zmoelnig)<br>
&gt;&gt; Assigned to: Miller Puckette (millerpuckette)<br>
&gt;&gt; Summary: prevent recursive loading of gui-plugins<br>
&gt;&gt;<br>
&gt;&gt; Initial Comment:<br>
&gt;&gt; if a gui-plugin loads other plugin, we might easily encounter a recursion<br>
&gt;&gt; (where the plugin tries to load itself).<br>
&gt;&gt; while the current gui-plugin loader mechanism tries to prevent re-loading<br>
&gt;&gt; of the &quot;same&quot; plugin (based on the filename of the plugin), it doesn&#39;t<br>
&gt;&gt; catch recursive loading.<br>
&gt;&gt; the attached patch fixes this, by adding the to-be-loaded plugin to the<br>
&gt;&gt; &quot;::loaded_plugins&quot; list, then tries to load it and removes it from the list<br>
&gt;&gt; if the loading fails<br>
&gt;&gt; (rather than adding the plugin to the list after the loading succeeded)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt; Some minor comments from the perspective of the current plugins-plugin<br>
&gt; which you may or may not want to consider:<br>
&gt; - the plugin creates a ::plugins_loaded list which is almost the same as<br>
&gt; ::loaded_plugins with the difference that &quot;-plugin.tcl&quot; is stripped and,<br>
&gt; more importantly, brackets in the name are stripped too because they can<br>
&gt; cause weird things when handling the strings in tcl.<br>
&gt; - for the sake of tidiness, the plugin introduces a ::plugins namespace<br>
&gt; where all the functions go.<br>
&gt; - what about splitting the whole plugin stuff out into a new pd_plugins.tcl<br>
&gt; so that we don&#39;t have to worry too much about bloating pd-gui.tcl?<br>
&gt; FYI: current plugins-plugin is cca. 200 lines, of which obligatory protocol<br>
&gt; is 20 lines, switching mechanism is 40 lines, meta extraction is 60 lines<br>
&gt; and building the dialog box is 70 lines - thought this may assist the<br>
&gt; decision about what to maintain inside pd and what to leave in a plugin.<br>
&gt;<br>
&gt; My 2 cents are that the moving-the-file way of managing is ugly and a list<br>
&gt; of enabled plugins shall be maintained in the preferences. Pd-gui could<br>
&gt; load everything (or nothing) by default, letting a plugin modify the list.<br>
&gt; So it would at the end take only a few extra lines in core pd gui.<br>
<br>
</div></div>Users currently install plugins by putting them in a folder.  Plugins are<br>
managed via whatever preferred file management the user likes.  Plugin<br>
managers can easily do the same.  Then users who are used to doing it via a<br>
file browser will still be able to do that whether or not they are using a<br>
plugin manager.  And installing and managing plugins both happen by moving<br>
files around.<br>
<br>
There needs to be a consistent experience here, so the management process<br>
should not be different than the installation process.  I don&#39;t see any real<br>
advantage to adding complexity to installing plugins when dropping it into a<br>
folder is enough.<br>
<br>
What particular problems are there with using the DISABLED/ folder?<br>
<span class="HOEnZb"><font color="#888888"><br>
</font></span></blockquote><div><br>The folder may not be writable for the pd process, it may be shared with other users or pd installations and the /disabled/ folder is &quot;ugly&quot;, in the sense that if every software vindicated the right to use this method then our folders would look like the favella. I never liked special mac folders appearing here and there either.<br>

</div></div>I also don&#39;t think there needs to be any consistency between the file manager method and the plugin manager&#39;s way. If you put a file in the path, it&#39;s found, if you remove it, it&#39;s gone - it&#39;s something profoundly obvious which applies to every software which uses a file system. We do prefer managing loading with some other mechanisms though - we don&#39;t make /disabled/ folders for disabled pd libs, do we?<br>

<br clear="all">András