--- On Fri, 8/20/10, Matt Barber brbrofsvl@gmail.com wrote:
From: Matt Barber brbrofsvl@gmail.com Subject: Re: [PD-dev] run-up to release 0.43 To: "Jonathan Wilkes" jancsika@yahoo.com Cc: pd-dev@iem.at Date: Friday, August 20, 2010, 5:59 PM
As for [initbang] - my only use has been for making
abstractions that
can spawn a variable number of inlets/outlets.
That's the only way
I've used it and the only way I've ever seen it used--
if there are
other uses maybe someone else on this list can give an
example.
The [initbang] object gives abstractions the ability to do something that otherwise would only
be possible by
coding an external in another programming language.
For example,
with [initbang] I can quickly make an abstraction that
can act like
Max/MSP's [trigger] object-- where you can specify
numeric values as
arguments ( like [trigger b 0] ).
In other words, you want Pd to include "meta" capabilities enough that abstractions have all the functionality of coded objects. [initbang] would be one step in this direction, but there would be at least these other requirements:
I'm interested in that, too, but the main reason I ask about [initbang] is because its patch has been sitting there on Sourceforge since 2006, and has been used in Pd-ext since then (and I haven't found any bugs so far with it) but not in Vanilla. If you do as the Sourceforge comments suggest and search the archives you'll not only find reasons for why the object is needed as I've suggested here, but also requests by developers (including yourself, I think) for the object to be included as an internal Pd object.
To make a max-compatible [trigger] I don't need any of the other meta-features you mention (which are good ideas). I just need [initbang]. It only has one outlet, and I've never needed more than one in an abstraction. So if future-[loadbang]-with-args were implemented tomorrow I'd just need to change one object for my max-compatible [trigger] to work across all Pd versions.
-Jonathan