A problem seems to remain: obviously every time an instance works, it passes from busy to mute by its relative thispoly~ object. Due to this, every time thispoly~ throws out messages, it initializes its buffer, groove and record with different names. The result seems to be that only the first instance do the job.
Just to be clear: the goal of my patch is to have a x-number of simultaneous buffer/record/groove that record/playback the same audio source at different times; their playback material must overrides themselves, here is the why i want to use a poly~ patch.
Doing this without using a poly~ approach is not that difficult: i could design a given number of copies of buffer/record and playback them in one single patch; but i'd want to learn to do this through a poly~ approach!! :)
ok sorry for leading you up the garden path-- i now remember there is an idiosyncratic thing about variable arguments in poly~, you need to have #0 immediately followed by a symbol, such as #0foo, otherwise it won't 'bind' to the argument name.
so try it like this:
another thing is that even if you have two copies of thispoly and bang one, the other one will also output-- very annoying!