Date: Wed, 9 Jul 2008 09:00:51 +0200 From: Frank Barknecht fbar@footils.org Subject: Re: [PD] vline~, vsnapshot~, etc. To: pd-list@iem.at Message-ID: 20080709070050.GB5479@fliwatut.scifi Content-Type: text/plain; charset=us-ascii
Hallo, Matt Barber hat gesagt: // Matt Barber wrote:
What does the "v" in [vline~], [vsnapshot~], etc. mean? Is it also the same in the "vinlet" and "vexpr" object classes?
I don't know vinlet, is this new? vexpr~ is definitely something else.
If I'm not mistaken, [inlet] and [inlet~] are members of the same class "vinlet," which has the two constructors vinlet_new and vinlet_newsig. Similarly but somewhat differently, all the expr/expr~/fexpr~ stuff is collected into a single set of vexp*.c files. I didn't mean to say "vexpr", and I guess expr has different classes underneath so it's not fair to say it's one object class -- but in both of them there's a "several objects collected here" kind of feel which made me wonder. Maybe this is all just a coincidence. I could see the "v" in "vinlet" standing for "visual" to distinguish it from the more generic "inlet" class.
vline~ and vsnaphot~ are variants of line~ rsp. snapshot~ that work with so called "clock-delayed messages" to achieve higher timing accuracy when receiving messages that originate from clocks, i.e. from [metro], [delay], [pipe], ...
This way you can schedule e.g. an envelope to start in the middle of a signal "v"ector.
Thanks, this explanation makes a lot of sense -- I knew what they did, but not why they were called v____.
Matt
On Wed, 9 Jul 2008, Matt Barber wrote:
If I'm not mistaken, [inlet] and [inlet~] are members of the same class "vinlet," which has the two constructors vinlet_new and vinlet_newsig.
Yes, it is the case. This shows you that the actual class is an implementation detail, and what matters is the creator (constructor), because that is what is put in [objectmaker]'s method-table (which is actually a creator-table).
Similarly but somewhat differently, all the expr/expr~/fexpr~ stuff is collected into a single set of vexp*.c files.
This is actually 3 distinct classes, but it's also an implementation detail.
In another strange way, GridFlow C++ classes have *all* the same creator from the perspective of Pd, but this mostly just dispatches to a class-specific creator. Same goes for GEM and PyExt and most interfaces between the C Pd API and another language.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec