Strange Problem using pv in abstractions
In the patch attached bellow, try this :
1 – Look at the content of the [pv id_module] : It’s "MasterAudioEngine3". fine.
2 – Create /or copy a new abstraction [Param] below the two others.
3 – Then click on the big bang : now the content of the [pv id_module] is zero !!
Even more strange is that when i use a [delay 100] inside the abstraction between the [loadbang] and the [pv id_module], then repeat the steps, it’s looks like it’s working. (see in "Using-delay" folder) Bizarre.
of course it is zero, it has never received anything.
Of course, it HAS received "MasterAudioEngine3" by the loadbang !!
you mean it has to keep its content when you make a copy ? :)
new copies of a [pv] with an existing name (inside a new abstraction] clear existing [pv]s, that’s the problem!
(also the answer to your question is yes.)
so, i have looked into this in maxmsp now.
i am not really surprised that it does not get its content when
you make a copy of the subpatcher.
this is what i would exspect, because copying a subpatcher
always causes such problems:
copying is not the same as other forms of loading a subpatch.
your subpatch loads fine when the main patch is opened, and
it also loads fine when you for example edit and save it while
the main patcher remains open.
it just does not work when making copies.
which is something i know well from using [loadbang]-[t #0], for
example, and so i am just used to it, yet i am not able to explain
the technical reason.
it is just something which happens with many objects, and normally
this is not a big problem as copying is something which you dont
do in an app. (it might be problematic for bpatcher people like me
or for apps which use script-create stuff, but i have never seen it)
but what is totally strange is that the whole thing also does not
work, also not gets its content when it is retriggered (by sending
the content via s/r again and then clicking the loadbang manually
in the new copy of the subpatch to check if it is there).
and what is even more strange is that everything works fine when
the loadbang is put to the high priority thread (using delay) – the
loadbang should not have to do anything with it.
if this was your question, i would recommend not to use [delay 0]
to fix your abstraction until we know more about the reason why i
wont work without. (plus delay will only help if overdrive is on)
instead i would build the abstraction differently and try to avoid
[v] or [pv]. one way could be to replace it by [coll].
someone willing to explain us what happens here?