[PD] [clone]'s instance number

Christof Ressi christof.ressi at gmx.at
Thu May 19 10:36:18 CEST 2016


Thanks a lot!!! Looking forward to the release!


Gesendet: Donnerstag, 19. Mai 2016 um 06:50 Uhr
Von: "Alex Norman" <x37v.alex at gmail.com>
An: "Miller Puckette" <msp at ucsd.edu>, "Christof Ressi" <christof.ressi at gmx.at>
Cc: Pd-list <pd-list at lists.iem.at>
Betreff: Re: [PD] [clone]'s instance number
Awesome!
 
On May 18, 2016 8:01:24 PM PDT, Miller Puckette <msp at ucsd.edu> wrote:
OK... I'm talked into it.  Should appear (as a "-x" optional flag) once 0.47-1
is ready.

cheers
Miller

On Wed, May 18, 2016 at 11:07:36PM +0200, Christof Ressi wrote:
Do you mean something like you have 1-baz.pd, 2-baz.pd, etc. and then inside your [clone] abstraction you've got [$1-baz]? I suppose this is a potential use case.​
Haha, sorry bad wording from my side, but this also an interesting use case!

I rather meant projects where everything is broken into modules which themselves contain other modules etc. The first module in the tree takes an ID as an *creation argument* and passes it down do its submodules. Something like that.
 
 

Gesendet: Mittwoch, 18. Mai 2016 um 22:40 Uhr
Von: "Matt Barber" <brbrofsvl at gmail.com>
An: "Christof Ressi" <christof.ressi at gmx.at>
Cc: "Miller Puckette" <msp at ucsd.edu>, Pd-list <pd-list at lists.iem.at>
Betreff: Re: [PD] [clone]'s instance number

BTW: I guess, it's mostly a design question, whether to work with instance numbers inside abstractions and or to work with dispatching via the inlets and outlets. However, I can think of at least two cases where it's necessary to have immediate access to instance numbers inside an abstraction:
a) [send~ foo-$1] or [catch~ bar-$1] to disambiguate audio inputs/outputs, because you can't set these two dynamically like [r~] and [throw~]
 

​Where do you envision the corresponding [r~ foo-$1] or [throw~ bar-$1] to reside? If it's in the same abstraction, then $0 ought to work just as well.​
 b) instantiate another abstraction by the instance number (nested abstractions)
 

​Do you mean something like you have 1-baz.pd, 2-baz.pd, etc. and then inside your [clone] abstraction you've got [$1-baz]? I suppose this is a potential use case.​
 
So the current behaviour of [clone] (passing the instance number as $1) can be important and very useful. The alternative mode I proposed is mainly for convenience but I'm sure it would pay off in the long run!
 Gesendet: Mittwoch, 18. Mai 2016 um 18:45 Uhr
Von: "Miller Puckette" <msp at ucsd.edu>
An: "Alex Norman" <x37v.alex at gmail.com[x37v.alex at gmail.com]> Cc: "Christof Ressi" <christof.ressi at gmx.at[christof.ressi at gmx.at]>, Pd-list <pd-list at lists.iem.at[pd-list at lists.iem.at]>
Betreff: Re: [PD] [clone]'s instance number

OK... sounds like it's worth putting in.  I guess with the one-letter it
already takes (-s) I should also add something like a -e flag to put the
number argument at the end of the list instead of the beginning, or something
like that.

cheers
Miller

On Wed, May 18, 2016 at 07:20:29AM -0700, Alex Norman wrote:I see your point, the abstraction need not know it's instance number since only the messages meant for it would be dispatched to it.. If you don't care about using sends directed to a specific abstraction then the $1 does nothing for you and if the flag to clone could ditch the $1 to instance setting and just set the arguments to the abstraction [clone -flag blah 20 1 2 3] makes 20 copies of blah with args $1=1 $2=2.. You could use more of your existing abstractions as is, using their args the same way with or without clone.

I'm warming up to that idea.

Alex

On May 17, 2016 6:44:51 PM PDT, Christof Ressi <christof.ressi at gmx.at[christof.ressi at gmx.at]> wrote:you can still disambiguate, because incoming messages are dispatched by
the instance number and outgoing messages are prepended with it!

My suggestion was mainly concerning all abstractions that work with
inlets and outlets (as opposed to sends and receives), where you
basically pass a message and get something out. This could be anything,
from simple message filtering to a perlin noise generator. Or also
existing audio modules that work with a message inlet. If there was
such a flag, you could take any of these abstractions as they are,
control them separately by prepending the instance number and route the
message output (or use the sum of the audio output).

I guess, people will use [clone] mainly for voice management for
synthesizers, granular synthesis, complicated nested patches etc., but
I also see a great potential for massive data generation by using
existing simple abstractions and cloning them.

Personally, I have many abstractions I would like to use with [clone],
but either I'd have to rewrite them or make a wrapper abstraction. It's
not a big deal, it's just that an alternative forwarding mode would
provide some additional convenience (and could also encourage other
usages for [clone]).

Anyway, I can totally live without this feature, but would be happy to
have it :-).
 Gesendet: Mittwoch, 18. Mai 2016 um 02:35 Uhr
Von: "Miller Puckette" <msp at ucsd.edu[msp at ucsd.edu]>
An: "Christof Ressi" <christof.ressi at gmx.at[christof.ressi at gmx.at]>
Cc: Pd-list <pd-list at lists.iem.at[pd-list at lists.iem.at]>
Betreff: Re: [PD] [clone]'s instance number

I'm not sure... would anyone ever use this feature?  The patch inquestionwould ahve to take arguments (if not, thre's no problem) but not usethem todisambiguate the instances (because clone will set them all equalanyway).I have trouble imaginig anyone building a patch like that.

cheers
Miller

On Wed, May 18, 2016 at 12:54:16AM +0200, Christof Ressi wrote:What do you think about the idea with a flag for changing the waycreation arguments are forwarded? It would be really handy if you could
write something like[clone -flag 100 my-abstraction 5 6 7] and $1 $2 $3 will besubstituted by 5 6 7 instead of [N] 5 6. This way you could use
existing abstractions as they are, without the need for writing a
wrapper abstraction to handle the creation argument forwarding.
Christof
 Gesendet: Dienstag, 17. Mai 2016 um 04:05 Uhr
Von: "Miller Puckette" <msp at ucsd.edu[msp at ucsd.edu]>
An: "Jaime Oliver" <jaime.oliver2 at gmail.com[jaime.oliver2 at gmail.com]>
Cc: "Christof Ressi" <christof.ressi at gmx.at[christof.ressi at gmx.at]>, Pd-list<pd-list at lists.iem.at[pd-list at lists.iem.at]>Betreff: Re: [PD] [clone]'s instance number

Cool, taking this suggestion.  At least for now it will workeither way,but it's much more readable with the abstraction name first so Ichanged thehelp file to invoke it that way.

cheers
Miller

On Wed, May 11, 2016 at 01:13:37PM -0400, Jaime Oliver wrote:Well,

What would happen if instead of calling clone like:

[clone 16 my-abstraction 1 5 9]

we called it with:

[clone my-abstraction 16 1 5 9]

and then $1 seems quite appropriate.

?

J


 On May 11, 2016, at 12:17 PM, Christof Ressi<christof.ressi at gmx.at[christof.ressi at gmx.at]> wrote:
I agree that $1 is most natural!

However, what about adding an additional flag -foo for[clone], which changes the way creation arguments are parsed?Passing -foo could ignore the object ID and rather forwardcreation arguments just as they are.
This wouldn't break the current behaviour of [clone], butprovide some functionality to deal with ordinary abstractions more
conveniently.
Christof







Gesendet: Mittwoch, 11. Mai 2016 um 18:06 Uhr
Von: "Ivica Bukvic" <ico at vt.edu[ico at vt.edu]>
An: "Miller Puckette" <msp at ucsd.edu[msp at ucsd.edu]>
Cc: "IOhannes m zmoelnig" <zmoelnig at iem.at[zmoelnig at iem.at]>, Pd-list<pd-list at lists.iem.at[pd-list at lists.iem.at]>, "Christof Ressi" <christof.ressi at gmx.at[christof.ressi at gmx.at]>Betreff: Re: [PD] [clone]'s instance number
What about having an if statement that detects clone objectand if so, compensates for $2 discrepancy and assigns $1 to it instead
and increments from there? This way the discrepancy is internalized as
opposed to something user needs to deal with.--
Ivica Ico Bukvic, D.M.A.
Associate Professor
Computer Music
ICAT Senior Fellow
Director -- DISIS, L2Ork
Virginia Tech
School of Performing Arts – 0141
Blacksburg, VA 24061
(540) 231-6139
ico at vt.edu[ico at vt.edu]
www.performingarts.vt.edu[http://www.performingarts.vt.edu][http://www.performingarts.vt.edu[http://www.performingarts.vt.edu]][http://www.performingarts.vt.edu[http://www.performingarts.vt.edu][http://www.performingarts.vt.edu[http://www.performingarts.vt.edu]]]
disis.icat.vt.edu[http://disis.icat.vt.edu][http://disis.icat.vt.edu[http://disis.icat.vt.edu]][http://disis.icat.vt.edu[http://disis.icat.vt.edu][http://disis.icat.vt.edu[http://disis.icat.vt.edu]]]
l2ork.icat.vt.edu[http://l2ork.icat.vt.edu][http://l2ork.icat.vt.edu[http://l2ork.icat.vt.edu]][http://l2ork.icat.vt.edu[http://l2ork.icat.vt.edu][http://l2ork.icat.vt.edu[http://l2ork.icat.vt.edu]]]
ico.bukvic.net[http://ico.bukvic.net][http://ico.bukvic.net[http://ico.bukvic.net]][http://ico.bukvic.net[http://ico.bukvic.net][http://ico.bukvic.net[http://ico.bukvic.net]]]

On May 11, 2016 11:50, "Miller Puckette"<msp at ucsd.edu[msp at ucsd.edu][msp at ucsd.edu[msp at ucsd.edu]]> wrote:I gave this some thought but
couldn't come up with anything more natural thanthe "$1" idea.  It allows for changing the other argumentsmore easily thanit would have been if the instance number were passed last.Also, somehowit felt more natural to have the instance number first.

If there's interest in the idea, I could add arrguments tochange thebehavior (such as putting $1 last instead of first)...Offhand I doubt thatwould get used much though.

cheers
Miller



On Wed, May 11, 2016 at 05:26:21PM +0200, Christof Ressiwrote:There's also a pitfall: additional creation arguments forthe cloned abstraction will start with $2.For example, in [clone 16 my-abstraction 1 5 9] '1' will beparsed as $2, '5' as $3, '9' as $4 etc.No problem, if the abstraction was written for being usedwith [clone], but bad when cloning existing abstractions.
I'm wondering if there could be a way to get the abstractionID without messing up existing abstractions... Maybe have a dedicated
object?
For now, I think it's important to mention the parsing ofadditional creation arguments in the help file.
Christof
 Gesendet: Mittwoch, 11. Mai 2016 um 16:25 Uhr
Von: "IOhannes m zmoelnig"<zmoelnig at iem.at[zmoelnig at iem.at][zmoelnig at iem.at[zmoelnig at iem.at]]>An: pd-list at lists.iem.at[pd-list at lists.iem.at][pd-list at lists.iem.at[pd-list at lists.iem.at]]
Betreff: Re: [PD] [clone]'s instance number

On 2016-05-11 16:18, Liam Goodacre wrote:Would it be possible to access [clone]'s unique instancenumber from within the patch, a bit like a creation argument? This
could be used to achieve differentiation between the abstractions, ie.
if the abstraction contains "tabread4~ $-1.array" and the $-1 is
replaced with the instance number, then each instance could read a
different file. Of course there are other ways of doing this, but it
would be neat to do it with clone, and I'm wondering if there's a way.

isn't this what $1 is already doing in clone's instances?


fgasdmr
IOhannes
 
------------------------------------------------------------
Pd-list at lists.iem.at[Pd-list at lists.iem.at][Pd-list at lists.iem.at[Pd-list at lists.iem.at]] mailing list
UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]]]  
------------------------------------------------------------
Pd-list at lists.iem.at[Pd-list at lists.iem.at][Pd-list at lists.iem.at[Pd-list at lists.iem.at]] mailing list
UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]]] 
------------------------------------------------------------
Pd-list at lists.iem.at[Pd-list at lists.iem.at][Pd-list at lists.iem.at[Pd-list at lists.iem.at]] mailing list
UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]]] 
------------------------------------------------------------
Pd-list at lists.iem.at[Pd-list at lists.iem.at] mailing list
UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]] 
------------------------------------------------------------
Pd-list at lists.iem.at[Pd-list at lists.iem.at] mailing list
UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]]  
------------------------------------------------------------
Pd-list at lists.iem.at[Pd-list at lists.iem.at] mailing list
UNSUBSCRIBE and account-management ->https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]]  
------------------------------------------------------------
Pd-list at lists.iem.at[Pd-list at lists.iem.at] mailing list
UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]] 
------------------------------------------------------------
Pd-list at lists.iem.at[Pd-list at lists.iem.at] mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list][https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]]
 
------------------------------------------------------------
Pd-list at lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list] 
------------------------------------------------------------
Pd-list at lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]



More information about the Pd-list mailing list