JavaScript in qc passes images fine, though I can't comment on gpu/cpu issues... I'm doubtful the stock queue does/could do anything to go "give me awesome gpu performance freebies".
This is also the only way one can get a queue that doesn't malfunction when decreasing count, ala the stock queue, which has a bug. The apple tv sample composition (I believe this is the name of it) also shows how to implement a kind of state machine that triggers an animation sequence after a bunch of images are loaded from file path. It's probably worth looking for. Sent from my iPhone On Jun 17, 2011, at 1:42 AM, Achim Breidenbach <[email protected]> wrote: > Hello Rick, > > I didn't used images in JavaScript yet, because I am afraid about conversions > between "Core Image" images and "JavaScript" images. I am sure this > conversion won't be CPU or GPU cost free. Thats why I always try to keep > JavaScript inputs and outputs as simple as possible. > > best, > > Achim Breidenbach > Boinx Software > > > On 17.06.2011, at 10:25, Rick Mann wrote: > >> Thanks, I think that'll do the trick! >> >> It only works for Javascript types, right? I can't pass an image through the >> state machine in the same way, can I? Doesn't matter, I can make it work >> with strings, just curious. >> >> -- >> Rick >> >> On Jun 17, 2011, at 1:16 , Achim Breidenbach wrote: >> >>> Hello Rick, >>> >>> in BoinxTV most of such time critical things that are triggered by events I >>> implemented as a state machine in Javascript. A state machine is a program >>> that has a certain state and keeps it for the next run loop. The state will >>> only be changed if a certain condition is matched. In your case such a >>> machine could look like this: >>> >>> var oldString = ""; >>> var currentString = ""; >>> var startTime = 0; >>> var state = 0; >>> >>> function (__string string1, __string string2, __number animationTime) >>> main (__number currentTime, __string newString, __number transitionDuration) >>> >>> { >>> var animationTime = 0; >>> >>> switch(state) >>> { >>> case 0: // wait for new string >>> >>> if(oldString != newString){ >>> startTime = currentTime; >>> currentString = newString; >>> state = 1; // make transition to new string >>> } >>> break; >>> >>> case 1: // make transition to new string >>> >>> >>> animationTime = (currentTime - startTime) / transitionDuration; >>> >>> if(animationTime >= 1.0){ >>> // transition is over >>> oldString = currentString; >>> state = 0; // wait for next string >>> } >>> >>> break; >>> >>> default: >>> state = 0; >>> } >>> >>> var result = new Object(); >>> result.string1 = oldString; >>> result.string2 = currentString; >>> result.animationTime = animationTime; >>> return result; >>> >>> } >>> >>> find attached a little composition where this code is embedded. Just change >>> the text from the "Message" input field to make it transition to the next >>> text. >>> >>> <text transition.qtz> >>> >>> The big advantage of such a state machine is, that you can add more states >>> to it without breaking the others. even if there are states that jumps to >>> other states only for certain conditions, you are always sure that the >>> other parts don't get affected. Also you can easily trace the "state" >>> variable within your code to see if you finally arrives at the start again. >>> This programming pattern gives you a very robust code. In this case nothing >>> can dusturb the transition animation. Only when the transition has finished >>> a new text will be accepted. >>> >>> best, >>> >>> Achim Breidenbach >>> Boinx Software >>> >>> >>> >>> On 17.06.2011, at 09:09, 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/achim%40boinx.com >>>> >>>> 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/gtoledo3%40gmail.com > > 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]

