I'm just going to chip in and say that building a central state machine using 
the JavaScript Patch has been absolutely critical for us, and this is what sits 
at the heart of every interactive AV we've ever made in QC - without it you'll 
just get messy unmanageable noodles, no matter how clean you are with your 
macro patching and connection routing.

It also helps to enforce an MVC paradigm on your project, which is a bit of an 
unusual approach within the QC ecosystem but I'm convinced is utterly crucial 
when making anything ambitious.

Quite possibly my darkest, most sinking moments as a developer are when I see a 
myriad of XOR, NAND and OR logic patches tangled up with Math patches, Counters 
and other logic type things trying to control disparate elements that would be 
much easier achieved with a single cleanly written JS patch that spits out nice 
neat state values. People - Embrace the JS! It is your friend!


Ade.


On 17 Jun 2011, at 10:09, Alastair Leith wrote:

> I like Achims State machine, here's another approach I made years ago before 
> my JS was useful.
> 
> I've done this sort of thing where I have two registers and interpolate 
> between them. The registers are the two most recent items in a queue, so a 
> new item in pushes the registers if that makes sense. Can't find a 
> composition for that method.
> 
> Also I did it for a structure of 3D attitudes/orientations of an object. I 
> have a comp for this. In this case the queue just track random index values, 
> again causing the index at the registers to shift along each time a new one 
> comes in.
> 
> It's a juggling act that uses a pulsed timer (LFO sawtooth-ramp-up) to drive 
> interpolation patches and the queue; here is a demo composition I dug out 
> (minus the interesting bit that morphs a cube into a sphere and back).
> 
> <Demo transitions between atitudes with a spinning cube.qtz>
> <Rotational Positions.plist>
> 
> NB The rotation position.plist is an XML file that needs to be in the same 
> folder as the comp to load.
> 
> Best
> Alastair
>  
> On 17/06/2011, at 5:09 PM, Rick Mann wrote:
> 
>> I've been doing these on-screen graphics for a web channel that covers space 
>> launches. We show a couple of different countdown clocks, as well as a block 
>> of ascent parameters.
>> 
>> But for the last nine minutes of a shuttle launch, there's not much to show. 
>> I have a couple dozen events that occur at various times during the count. I 
>> want to display each one as it occurs. An event is just a text string 
>> describing the event ("APU Start," "Steering Test," etc.).
>> 
>> My custom patch can either output each string on a output port, or output an 
>> array of structures that has the string and the associated time. The former 
>> is easier for me.
>> 
>> How can I crossfade from the last event string to the next, especially when 
>> they come in rapid succession (perhaps more quickly than the crossfade 
>> duration)?
>> 
>> I was doing a similar cross fade between a set of images, and it was a real 
>> pain to build the structure for it.
>> 
>> Thanks for any suggestions,
>> Rick
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Quartzcomposer-dev mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/quartzcomposer-dev/qc.student.au%40gmail.com
>> 
>> This email sent to [email protected]
> 
> The machine does not isolate man from the great problems of nature but 
> plunges him more deeply into them. 
> Antoine de Saint-Exupery 
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Quartzcomposer-dev mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/quartzcomposer-dev/adrian%40clayinteractive.co.uk
> 
> This email sent to [email protected]

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to