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 > <charl...@cellcastonline.com> 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 (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/achim%40boinx.com > > This email sent to ac...@boinx.com _______________________________________________ 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