On Tue, 26 Sep 2006, Tim Blechmann wrote:
On Tue, 2006-09-26 at 23:21 +0200, Frank Barknecht wrote:
IMO this step should wait until we have the equivalent to Python's "from pdcore import *" or C++'s "using namespace std"
sorry for some 'implementation details', but this is not as trivial as it would be in a script language.
1. It's not that trivial in a "script" language
2. It's exactly as difficult in a "script" languages as in pd. (pd isn't as special as we may believe it is)
the first solution would be a contrary to pd's design principle (as written by miller in the pd docs, §2.6.2. persistence of data).
in practice, a pd canvas may have all of those persistent states which are not part of the canvas' contents per se:
(x,y) origin of the canvas window (x,y) size of the canvas window (x,y) size of the gop (x,y) margin for gop (x1,y1,x2,y2) range for graphing font size gop flag gop rectangle flag
and in practice, IEMGUI has been integrated to pd itself 5 years ago, everybody takes them for granted, and they're full of violations of 2.6.2; it could even be argued that the nature and the goal of IEMGUI is to violate 2.6.2.
for the second solution the creation time of the import object would be crucial (which would also be a contrary to §2.6.2),
the creation time would be also important in the case of the first solution. (i don't see why it wouldn't.)
or objects will have to be reloaded when import objects are created/destroyed, which would increase the complexity of the implementation quite a bit...
this can be made in a semi-automatic way, e.g. an item in the Edit menu which would recreate all objects as if the patch had been reloaded from a file. This is roughly equivalent to Ctrl+A Ctrl+X Ctrl+V, but now the second solution is different in the sense that Ctrl+V would have to figure out namespaces in order to create its objects properly (!!).
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada