Thanks Achim, I have changed the code a bit. I thought that on runtime it
would have a list of positions, as I'm loading them in from an XML Sheet.
But I guess QC must run the JavaScript before it has loaded the XML Sheet.
This is what I've ended up with:
function (__string output_cmd) main (__string input_cmd, __structure
positions)
{
if (Object.firstRun == undefined) {
Object.firstRun = 1;
} else {
if (positions[input_cmd] != null) {
var result = new Object();
result.output_cmd = input_cmd;
return result;
}
}
}
I know all the things I ask are really basic, but thanks for taking the time
to answer my questions.
Regards,
Charlie
On 13 January 2011 13:58, Achim Breidenbach <[email protected]> wrote:
> Hello,
>
> @George: the output_cmd and input_cmd seems to be correct to me. the
> structure comes in with positions, which is declared as __structure.
>
> @Charlie: The script is once executed as a test without any parameters
> given. This gives you the error because you dont have an object in
> "positions".
> lso you can't manipulate input parameter (input_cmd = ''"; will fail).
>
> When I read your code correctly, you want to push through the input_cmd to
> output_cmd only if there is an object in the structure. (anyways, I am not
> sure about testing against "null" here)
>
> function (__string output_cmd) main (__string input_cmd, __structure
> positions)
> {
> var output_cmd = "";
>
> if (Object.firstRun == undefined) {
> Object.firstRun = 1;
> }
> else{
> if (positions[input_cmd] == null) {
> output_cmd = "";
> }
> else{
> output_cmd = input_cmd;
> }
> }
>
> var result = new Object();
> result.output_cmd = output_cmd;
> return result;
> }
>
> I didn't test the code...
>
> best,
>
> Achim Breidenbach
> Boinx Software
>
> On 13.01.2011, at 14:40, George Toledo wrote:
>
> > I totally haven't even read through your post, but note that you're
> declaring string input and output, while actually wanting to deal with
> structure. That's problematic, off top.
> >
> > What are you actually trying to achieve?
> >
> > -gt
> >
> > On Thu, Jan 13, 2011 at 8:37 AM, Charlie Francis <
> [email protected]> wrote:
> > Hi,
> >
> > I'm struggling a bit with using JavaScript within Quartz, especially how
> to use and abuse the structures that can be passed into the patch.
> > What I'm trying to achieve is only letting a string through that matches
> one of the keys in the structure.
> > Also, if the composition has only just been run, and no strings have been
> passed the return string should be blank.
> >
> > Below is an example of the structure I'm passing:
> >
> > 0: "left" = Structure
> > 0: "x" = -1
> > 1: "y" = 0
> > 1: "right" = Structure
> > 0: "x" = 1
> > 1: "y" = 0
> > 2: "center" = Structure
> > 0: "x" = 0
> > 1: "y" = 0
> >
> > And my Javascript at the moment is:
> >
> > function (__string output_cmd) main (__string input_cmd, __structure
> positions)
> > {
> > var result = new Object();
> > var firstRun;
> >
> > if(firstRun != 1) {
> > input_cmd = '';
> > firstRun = 1;
> > }
> >
> > if (positions[input_cmd] == null) {
> > input_cmd = '';
> > }
> >
> > result.output_cmd = input_cmd;
> > return result;
> > }
> >
> > I seem to be getting an error on the if (positions[input_cmd] == null) {
> line, saying that positions is not an object.
> >
> > I'm also pretty sure the firstRun section is correct, as I've tested it
> on it's own and it works.
> >
> >
> > So what is the correct way to work with Structures inside of a JavaScript
> patch?
> >
> > Regards,
> > Charlie
> >
> > _______________________________________________
> > 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]
> >
> >
> >
> > --
> > George Toledo
> > [email protected]
> > 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 ([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/archive%40mail-archive.com
This email sent to [email protected]