On Dec 1, 2011, at 2:14 PM, IOhannes m zmoelnig wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2011-12-01 19:41, Hans-Christoph Steiner wrote:
#3 could anybody tell me, why [declare] is implemented in a way that it doesn't take immediate effect?
Its a tricky problem because if you have a patch, then you add [declare], [path] or [import] to it it could modify how the existing part of the patch is loaded the next time its opened since the #X declare stuff would then be loaded first.
actually i don't see much problems here. if i create a patch with a [loadbang]->[; pd quit( then the patch will behave differently during creation time (it will do nothing) and during runtime (it will quit Pd). if i want to have the effect at creation time, i can manually bang whatever is connected to [loadbang].
otoh, when i add [declare -path foo/], this is usually because i found out that a certain path is missing, and i cannot proceed with patching, until that path is added. the current situation makes it really complicated for people who had no clue what they wanted to do when they started Pd.
I think its better to have it added immediately, that's one reason why I wrote [import] and [path]. But its far from the ideal behavior. One example of where it could cause problems is when it causes a different object to be loaded under a given name, i.e.:
[foo] [import foolib2]
[foo] could be already loaded from foolib1, then when this patch is reloaded, it'll be from foolib2.
.hc
There is no way to peace, peace is the way. -A.J. Muste