On Wed, Dec 8, 2010 at 9:18 AM, Alex Drinkwater <the_vo...@yahoo.co.uk>wrote:

> This is fascinating... I wasn't aware that anyone was using QC for such
> large-scale projects. An eye-opener.
>
> a|x
>
>
I'm certain there have been a few. :)

-GT

>
>
> On 8 Dec 2010, at 12:55, Adrian Ward wrote:
>
>
> I'm not sure QC could ever fully satisfy strict MVC design requirements due
> to the inherent nature of it (execution is driven by consumer/rendering
> patches, for a start), so I think the Controller/Viewer blur is a common
> difficulty that may be inevitable.
>
> That said, I'm convinced MVC can certainly help structure big Quartz
> Composer projects. I don't consider there to be one perfect methodology, and
> we've spent years experimenting with different approaches.
>
> Currently in our projects we tend to have lots of discrete 'scenes' that
> are either shown or not shown. We tend to encapsulate those as separate QTZ
> files (which helps the team to work on them concurrently) and then have a
> top-level QTZ with an all-in-one controller JS patch that is responsible for
> logic and storyboard flow, triggering those scenes, etc. Data is loaded and
> processed by a separate section (again, usually in an external QTZ) and
> currently I'm favouring bundling all data, settings and values in a single
> Structure that gets passed along to whatever needs it, like a poor-man's
> global object.
>
> There are downsides to this of course. For example, our recent installation
> at Imperial War Museum in London (did I mention we have a big QC powered
> exhibit in the new Lord Ashcroft Gallery there?) passes about 4000-6000
> values and objects (even images) in a single nested Structure object. Kind
> of mad but it works efficiently and massively reduced our noodle usage. So
> yes, it got difficult keeping track of what was *actually in* that
> Structure, especially as it's a royal pain to inspect them at runtime, but
> it made it very easy to separate model, view and controller into individual
> parts.
>
> Best,
>
>
> A.
>
>
>
>
> On 8 Dec 2010, at 12:20, Alastair Leith wrote:
>
> "Also consider that this technique could help encourage a MVC paradigm
> within Quartz Composer."
>
> It's apt that you mention that^ because MVC is *exactly* the reason I made
> this JS patch suggestion. Currently I'm trying to model a prototype a MVC
> set-up in a QC comp or even perhaps 2 or 3 comps (one for each part). (Happy
> to share it when I get somewhere I'm modelling that Simon musical
> button game for a case study). In QC it's a special challenge to do this as
> it's a functional environment with no resources specifically devoted to MVC
> like *Cocoa* has.
>
> Say one has 3 JavaScript patches for each of *Model*, *Controller* and *
> Viewer*, does one pass messages between the JS patches with codified
> constants (eg: var k_play_an_A_ON = new Number();  k_play_an_A_ON  =1;
> result.Message_to_Viewer = k_play_A_ON; ) to get parsed whenever the other
> Module is ready to do so. Or could one have live 'State' booleans that
> determine if, say, the *Viewer* module should be accepting Inputs and live
> Structures that are immediately interpreted to, say, display particular
> Output states.
>
> I've been reading a fantastic book of interviews with well known
> programmers (Coders at Work) and one take-away I got was not to over
> generalise my code, only bite off what I need to do — don't over-engineer
> for expansion/more function than required; leave that for later. I'd like to
> have a go at MCV inside QC because I have made an Application in QC that
> drives other .qtz compositions. I'll probably use *Quartz Builder* to
> distribute the App, at this stage.
>
> My Javascript patch for parsing the 28+ on screen button inputs is becoming
> a bit unwieldy in terms of adding functionality without breaking existing
> functionality — it's *Viewer* and *Controller* all in one, and then I have
> another JS patch (hooked to tons of structure patch  noodling) for the *
> Model* which is not talking to any other JS patches yet just responding to
> manual inputs.
>
> The idea of separating into MVC seemed like a good organising principle as
> much as a code beautifying / rationalising one. Communication between the
> MVC parts / modules is what I am probing / flailing around with at present.
> Any advice welcome.
>
> Best to all
> Alastair
> Useful Design
>
>
>
>
> On 08/12/2010, at 9:51 PM, Adrian Ward wrote:
>
>
> Hear hear.
>
> rdar://8743194
> http://openradar.appspot.com/radar?id=953401
>
>
>
> On 8 Dec 2010, at 06:14, Alastair Leith wrote:
>
> Would it be possible to implement composition/application wide globals for
> the Javascript patches in a future QC revision?
>
>
> I know graph evaluation and free global variables could create a headache
> if used unwisely, but it would be kind of neat at times to have a
> composition-wide layer to read/write get/set to. Couldn't it just operate on
> an ad-hoc basis read to whenever (whatever JS patch is being evaluated)
> write whenever (same).
>
>
>
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
>
> http://lists.apple.com/mailman/options/quartzcomposer-dev/the_voder%40yahoo.co.uk
>
> This email sent to the_vo...@yahoo.co.uk
>
>
>
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
>
> http://lists.apple.com/mailman/options/quartzcomposer-dev/gtoledo3%40gmail.com
>
> This email sent to gtole...@gmail.com
>



-- 
George Toledo
gtole...@gmail.com
www.georgetoledo.com

The information contained in this E-mail and any attachments may be
confidential.
If you have received this E-mail in error, please notify us immediately by
telephone or return E-mail.
You should not use or disclose the contents of this E-mail or any of the
attachments for any purpose or to any persons.
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to