Actually, after using it for a while the worst downside is that it uses so many "key" events in the dynamic patching, which trigger [key] elsewhere in the patch.
It seems to me that getting the creation args of an abstraction with a float or testing to see if a creation argument exists is a vanilla-level problem that would be best solved with a new object in vanilla.
At some point it might be worthwhile to enumerate the features of Pd's objectclass API that can't be emulated well with abstractions (for instance, a left inlet that can take both signals and messages).
Matt
On Tue, Nov 25, 2008 at 7:31 PM, Matt Barber brbrofsvl@gmail.com wrote:
Another downside, probably the most annoying, is that some of the dynamic patching needs to make the helper subpatch visible for a very short amount of time -- but it can show up... probably there's a way around that.
Matt
On Tue, Nov 25, 2008 at 6:49 PM, Matt Barber brbrofsvl@gmail.com wrote:
Dear Hans and List:
Attached is a .zip of a possible solution. You can unzip and open "getcreationargstest.pd". In this patch, you'll find a [getcreationargstest_abs] abstraction with a bunch of float and symbol arguments. Open it up and have fun -- [getcreationargs] is the main abstraction -- there are two dependencies: 1) [digiter] which is an abstraction that iterates the digits of an integer, and 2) [log10] which is a base-ten log abstraction used in [digiter].
There are some downsides to it:
- it requires helper abstractions.
- it requires a helper subpatch in the parent (the name of this
patch is the creation argument to [getcreationargs]. 3) it uses some rather arcane dynamic patching which might break in the future. 4) when it's used it sets the dirty flag.
I think this could at least be something like the right idea.... also I haven't tested on all platforms, and it's for 0.40 or greater.
Lemme know what you think!
Matt