Andy;<div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
I'm not sure that's true. I just tried this:<br>
<div class="im"><br></div></blockquote><div><br></div><div>You are right. I doubted for a moment because of the array and how arrays tend to muck with the type system but this fails too;</div><div><br></div><div><div>JCRev foo;</div>
<div><br></div><div>.1 => ((foo $ UGen) $ Chorus).mix;</div></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
The "mix" method won't have a common location in the vtable. You might<br>
get lucky casting a JCRev to a PitShift since "mix" is the first<br>
method for both of them, but I certainly wouldn't count on that to<br>
always work.<br><br></blockquote><div><br></div><div>Indeed! Turns out we just got lucky a lot of times. It does work for the STKInstruments and the convenience filters. I seem to remember you can also have it work for anything that has a .freq() but maybe there too we just got lucky so far.</div>
<div><br></div><div>That's a bit disappointing; it was a nice trick while it lasted. I suppose it still is for those places where you can get away with it. I think I talked about this before, but I'd like any object to have a .type() that would return a array like this; ["Object", "UGen", "Filter, "LPF"]. The VM has all of that data, we just can't get to it.</div>
<div><br></div><div>Yours,</div><div>Kas.</div></div></div>