Unable to create a mask on Adjustment layer

hi.
I want to apply motion tracking data to a mask, therefore i'm trying to utilize an adjustment layer to control the mask position. So i tracked motion on a video footage, applied tracking data to Adjustment layer, then marked the Adjustment layer and drew a closed mask on it. However, when i finish the mask, it does not "cut the hole" on the video footage (which is right below the Adjustment layer). Tried all the available modes (Add, Subtract, Intersect, etc.) but only the outlines of the mask's shape are visible on the video footage.
How can i apply a mask to an adjustment layer? Or maybe there are other methods to apply motion tracking data to a mask?
thank you

I think that you're misunderstanding how masks on adjustment layers are supposed to work. If you draw a mask on an adjustment layer, you are restricting the area within which the effects on the adjustment layer apply; it does not, as you say "cut a hole in the video footage". If you want to "cut a hole in the video footage", then you make the mask on the footage layer, not the adjustment layer.

Similar Messages

  • How do I create layers in an adjustment layer and transfer those layers?

    How do I create layers in an adjustment layer and transfer  or duplicate those layers in another image ?
    I need to transfer the same colour readjustment from one image to several other images ... I have been told to do this in the adjustment layer platform how ever I cannot drag or copy those layers over to the other images I have open and in need of adjustment to the same layers ...
    Images shows my lay out and what i've done this far.
    Thank you

    You need to get out of single image view. Go to the editor preferences>general>Allow Floating Windows, then go to Window>Images>Float all in Window, then Tile or Cascade. Then you should be able to drag the layers from the layers panel for one image into the main image window (not the panel) for another image.

  • Alt + Create new Fill or Adjustment Layer CC2014

    Alt + Create new Fill or Adjustment Layer Photoshop CC2014 not working
    In Photoshop CS6 I can click on the Alt key and select Create new Fill or Adjustment Layer to create a new adjustment layer with options, but when I try the same in Photoshop CC2014 clicking the Alt doesn't work that way, is there something that I'm doing wrong or maybe there's another shortcut key that I'm unaware of. Is there another way to do the same thing as CS6
    System Spec
    Windows Pro 8.1
    16 GB RAM
    300 GB Scratch Disk
    2GB Graphics Card
    Everything up to date

    It also work in Photoshop CC like in CS6 but not in CC 2014 it seem to be a bug.

  • Unsharp Mask on Adjustment Layer crushing whites during fade?

    I'm using Premiere CS6 with video footage from a Canon T2i. However, the issue appears regardless of the video source.
    When I apply a Film Dissolve to a clip in the timeline, then add an Adjustment Layer with an Unsharp Mask on a track above the clip, the whites in the clip appear to become crushed over the length of the transition, while still fading to black. This does NOT happen if I use a Sharpen filter instead of an Unshark Mask, and if I apply the Unsharp Mask to the clip directly instead of using an Adjustment Layer. Fading with another clip looks normal as well, the whites only get crushed when fading to black.
    If the problem had to do with the Film Dissolve processing in a linear color space, then I would expect similar results with the Sharpen filter. Likewise, if the problem had to do with the Unshark Mask, then I would expect to see the same thing when it is applied to the clip directly.
    Any ideas? I appriciate the help!

    Looks like a bug. Thanks. I'll escalate it.
    Workaround looks good, so thanks for that too! Nice find.
    PS:
    LensFusion wrote: If the problem had to do with the Film Dissolve processing in a linear color space, then I would expect similar results with the Sharpen filter. Likewise, if the problem had to do with the Unshark Mask, then I would expect to see the same thing when it is applied to the clip directly.
    I think it has to do with blend modes, but can't say for sure.

  • Unable to create logical dimension in bmm layer

    Hi all,
    I am not able to create a logical dimension hierarchy in the bmm layer of the rpd.
    when I right click on the table I am not able to find the create logical dimension option in the popup window.
    could you please help me out in this?
    In the logical table we have data from sql statement also.
    Thanks!

    Create Dimensions is only available if the selected logical table is a dimension table (defined by 1:N logical joins) and no dimension has been associated with this table.
    To create a dimension automatically, the Administration Tool examines the logical
    table sources and the column mappings in those sources and uses the joins between physical tables
    in the logical table sources to determine logical levels and level keys.
    Hope you have defined the Logical join in BMM before looking for this option. If joins are not defined, this option won't come.
    Refer http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/b31770.pdf
    Page 133, Creating Dimensions Automatically
    Hope its useful

  • Photoshop Elements 9 Layers not functioing (Layer Mask and Adjustment layer)

    Does ayone know of a problem with PS Elements 9 layers and Windows 7?

    What happens when you try to use layers?

  • Why use layer masks and adjustment layers?

    I've been using PSE and CS successfully for years.
    One thing I have never understood is: why use layer masks and adjustment layers, instead of simply creating a copy of the subject layer (the one I want to make changes to) and experimenting with that?  It's quick (Ctrl-J), I can do it as many times as I want, I'm not affecting my Background layer.  If I like the changes, I can keep them.  I can switch the copy on and off to compare with the Background layer.  I can do any type of blend or combination I desire.  I can insert Gradient layer(s), select any part of the copy and (Ctrl-J) create a new layer containing only the selected part.  I can adjust size, rotate, do anything.
    It almost seems that "layer mask" and "adjustment layer" are mainly another layer of terminology; can anyone explain (preferably in 50 words or less) how they are intrinsically different from or superior to working with copies of the Background layer?  What can be done with them that can't be done simply using copies of the Background layer?

    Here's a very basic example of the advantage of using a layer mask.
    I have this picture of a sunflower and I want to convert the background to black & white, leaving just the flower in color.  I duplicated the Background layer, converted it to B&W and proceeded to use the Eraser to uncover the flower color. But I made a mistake and erased outside the flower.  There is no way to correct this other than deleting the layer and starting again.
    Now let's use a layer mask on the B&W layer. Set the Foreground/Background colors to the defaults black/white. Using the Brush tool paint on the mask with black to reveal the color.  Here I painted too far, revealing a green leaf in the background.  No need to start over.  Simply switch to white and paint the excess to convert back to the B&W.
    Tip: while painting you can type "X" to toggle between black and white.
    You could also select the flower using the various selection tools and then fill the selection with black. If it turns out the selection was not 100% accurate you can then fine-tune the result by painting on the mask with black or white as necessary.

  • Problems with creating a mask in AE 4.1

    Hi all,
    Yes, I'm using After Effects 4.1... not CS4... that's version 4.1 from 13 years ago.
    I'm having a problem creating a simple mask and I can see from a more current AECS5 tutorial that creating a mask on a layer is similar to creating one in AE4 based on a comparison to an old AE4 tutorial.  I've read instructional material and it seems simple enough, but for some reason its not working for me... I know I'm doing something wrong.  I'm an advanced Photoshop user and I know the concept of layer masks and how to create them.
    I create the mask on a layer and I can see and adjust the bezier points to adjust the shape of the mask... adjusting the shape of the mask by the bezier points is a little tricky since it stretches in both directions when you grab a single point, but that's okay,
    But no matter which mask mode I try, Add, Subtract, Intersect, Lighten, Darken or Difference, it is not masking the layer that it is attached to even when I preview the timeline.
    I don't want to just create a color layer on top of the layer I want masked to simulate a mask (which I can otherwise do) because I want to stack layers with masks and have the unmasked parts showing through (like in Photoshop), without rendering separate layers and re-importing them with blue screening or black screening... I should just be able to mask the parts that I don't want to show up on each layer and only have the unmasked parts of each layer show through each other for my final render.
    Thanks for any input,
    digi

    Thanks for writing back Dave and Rick,
    I think there is something in what Dave said about opening a new layer window, but it still isn't working right.  Please see the screenshot of two full project windows below.
    One thing that could be giving me problems is my layer content... it is a numbers layer attached to a solid layer, as you can see.
    In the comp window at the top of each screenshot below, you can see the bezier points from my original mask that I created by clicking on 'Shape' next to 'Mask' on the left in the timeline window after selecting 'Layer>Mask>New Mask'... but I can see that this isn't the right way to do it because (1) it isn't masking, it only shows bezier points. (2) When I try to adjust those bezier points in the comp window it only stretches the numbers. And (3) when I'm in the comp window, I don't have access to the layer shape square and oval tools... they are grayed-out.
    So in the layer window after double-clicking on my numbers layer, in screen #2 below, you can see that it isn't showing anything... just black, but you can see the bezier points from my original masking attempt that also show up in the comp window.  But in that layer window I do have the square and oval tools available to me and you can see that I tried creating a new experiment with a triangle mask, but that only shows bezier points and no masking effect.  When I close that window, as Dave said, after making the new triangle mask, it only broadens out my original mask besizer points in the comp window to encompass both masks now, but does not reflect either masks actual shape, nor is it actually masking anything.
    Let me know what you think.
    Thanks again,
    digi

  • Using color sampler values with curves adjustment layer

    Hi, I have just started trying to teach myself javascript.  Based on preliminary research, it's become apparent that there are many functions in Photoshop that are either extremely cumbersome or impossible to code by hand without using the Script Listener.
    My  goal is as follows: first, I will manually load two photos as layers in a single document.  Then I will manually place two or more color sampler points on the document.  At this point I would like the script to create a curves adjustment layer (ideally clipped to layer 2) and place as individual channel anchor points  the RGB data from the color sampler points on Layer 2, and then adjust the output of the points on each channel to the color sampler RGB values of layer 1.  
    As my first script, I realize this is probably going to be a lot of work.
    I did find some code that returns the average value of manually placed color sampler points.  Conceptually then, I would need to add code which creates a new curves adjustment layer and adds those RGB values (from a specific layer)  as anchor points on the individual channels,  and then hides one layer and looks at the RGB values of the color sampler points, and uses them as the output values for each anchor point.
    Sounds simple enough from a conceptual standpoint.
    I'm looking for some guidance on how to get started.
    Which parts will I definitely need Scriptlistener for and will that be adequate to do the job?
    How would you recommend I get started on this?
    Thanks very much for any input.

    The function I had provided was an example into which you would need to feed the values you got with Mike’s code.
    The code below would create a Curves Layer as shown in the screenshot, but I’m not sure it would work reasonably for all cases.
    // with code by mike hale;
    // 2012, use it at your own risk;
    // call the function to run the script
    #target photoshop
    createCurveAdjustmetFromColorSamplers();
    // create a function fo hold most of the code
    function createCurveAdjustmetFromColorSamplers(){
        // first add some condition checks
        // needs an open document in a color mode that supports layers
        if(app.documents.length == 0 || ( app.activeDocument.mode == DocumentMode.BITMAP || app.activeDocument.mode == DocumentMode.INDEXEDCOLOR ) ){   
            alert('This script requires a document in Greyscale, RGB, CMYK, or Lab mode.');
            return;
        // check for at least two colorSamplers
        if(app.activeDocument.colorSamplers.length < 2 ){
            alert('This script requires at least two colorSamplers.');
            return;
        // last check for at least two layers - assume they will be on same level( not in layerSet )
        if(app.activeDocument.layers.length < 2 ){
            alert('This script requires at least two layers.');
            return;
        // create varaibles to hold the colorSampler's color property for each layer
        // for the bottom layer
        var outputArray = new Array();
        // for top layer - array could also be created this way
        var inputArray = [];
        // store the number of samples because it will be needed in more than one place
        var numberOfSamples = app.activeDocument.colorSamplers.length;
        // hide the top layer
        app.activeDocument.layers[0].visible = false;
        // collect the samples from the bottom layer
        for(var sampleIndex = 0; sampleIndex < numberOfSamples; sampleIndex++ ){
            outputArray.push(app.activeDocument.colorSamplers[sampleIndex].color);
        // turn the top layer back on
        app.activeDocument.layers[0].visible = true;
        // collect those samples
        for(var sampleIndex = 0; sampleIndex < numberOfSamples; sampleIndex++ ){
            inputArray.push(app.activeDocument.colorSamplers[sampleIndex].color);
        // make sure the top layer is the activeLayer
        app.activeDocument.activeLayer = app.activeDocument.layers[0];
    // create arrays of the color values:
    var theArray = [[0, 0, 0, 0, 0, 0]];
    for (var m = 0; m < inputArray.length; m++) {
    theArray.push([inputArray[m].rgb.red, outputArray[m].rgb.red, inputArray[m].rgb.green, outputArray[m].rgb.green, inputArray[m].rgb.blue, outputArray[m].rgb.blue]);
    theArray.push([255, 255, 255, 255, 255, 255]);
    // sort;
    theArray.sort(sortArrayByIndexedItem);
    // makeCurveAdjustmentLayer();
    rgbCurvesLayer (theArray)
    ////// make rgb curves layer //////
    function rgbCurvesLayer (theArray) {
    // =======================================================
    var idMk = charIDToTypeID( "Mk  " );
        var desc5 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
            var ref2 = new ActionReference();
            var idAdjL = charIDToTypeID( "AdjL" );
            ref2.putClass( idAdjL );
        desc5.putReference( idnull, ref2 );
        var idUsng = charIDToTypeID( "Usng" );
            var desc6 = new ActionDescriptor();
            var idType = charIDToTypeID( "Type" );
                var desc7 = new ActionDescriptor();
                var idpresetKind = stringIDToTypeID( "presetKind" );
                var idpresetKindType = stringIDToTypeID( "presetKindType" );
                var idpresetKindDefault = stringIDToTypeID( "presetKindDefault" );
                desc7.putEnumerated( idpresetKind, idpresetKindType, idpresetKindDefault );
            var idCrvs = charIDToTypeID( "Crvs" );
            desc6.putObject( idType, idCrvs, desc7 );
        var idAdjL = charIDToTypeID( "AdjL" );
        desc5.putObject( idUsng, idAdjL, desc6 );
    executeAction( idMk, desc5, DialogModes.NO );
    // =======================================================
    var idsetd = charIDToTypeID( "setd" );
        var desc8 = new ActionDescriptor();
        var idnull = charIDToTypeID( "null" );
            var ref3 = new ActionReference();
            var idAdjL = charIDToTypeID( "AdjL" );
            var idOrdn = charIDToTypeID( "Ordn" );
            var idTrgt = charIDToTypeID( "Trgt" );
            ref3.putEnumerated( idAdjL, idOrdn, idTrgt );
        desc8.putReference( idnull, ref3 );
        var idT = charIDToTypeID( "T   " );
            var desc9 = new ActionDescriptor();
            var idpresetKind = stringIDToTypeID( "presetKind" );
            var idpresetKindType = stringIDToTypeID( "presetKindType" );
            var idpresetKindCustom = stringIDToTypeID( "presetKindCustom" );
            desc9.putEnumerated( idpresetKind, idpresetKindType, idpresetKindCustom );
            var idAdjs = charIDToTypeID( "Adjs" );
                var list1 = new ActionList();
                    var desc10 = new ActionDescriptor();
                    var idChnl = charIDToTypeID( "Chnl" );
                        var ref4 = new ActionReference();
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idRd = charIDToTypeID( "Rd  " );
                        ref4.putEnumerated( idChnl, idChnl, idRd );
                    desc10.putReference( idChnl, ref4 );
                    var idCrv = charIDToTypeID( "Crv " );
                        var list2 = new ActionList();
    // add r points;
    for (var m = 0; m < theArray.length; m++) {
              addCurvePoint (list2, theArray[m], 0)
                    desc10.putList( idCrv, list2 );
                var idCrvA = charIDToTypeID( "CrvA" );
                list1.putObject( idCrvA, desc10 );
                    var desc15 = new ActionDescriptor();
                    var idChnl = charIDToTypeID( "Chnl" );
                        var ref5 = new ActionReference();
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idGrn = charIDToTypeID( "Grn " );
                        ref5.putEnumerated( idChnl, idChnl, idGrn );
                    desc15.putReference( idChnl, ref5 );
                    var idCrv = charIDToTypeID( "Crv " );
                        var list3 = new ActionList();
    // add g points;
    for (var m = 0; m < theArray.length; m++) {
              addCurvePoint (list3, theArray[m], 2)
                    desc15.putList( idCrv, list3 );
                var idCrvA = charIDToTypeID( "CrvA" );
                list1.putObject( idCrvA, desc15 );
                    var desc20 = new ActionDescriptor();
                    var idChnl = charIDToTypeID( "Chnl" );
                        var ref6 = new ActionReference();
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idChnl = charIDToTypeID( "Chnl" );
                        var idBl = charIDToTypeID( "Bl  " );
                        ref6.putEnumerated( idChnl, idChnl, idBl );
                    desc20.putReference( idChnl, ref6 );
                    var idCrv = charIDToTypeID( "Crv " );
                        var list4 = new ActionList();
    // add b points;
    for (var m = 0; m < theArray.length; m++) {
              addCurvePoint (list4, theArray[m], 4)
                    desc20.putList( idCrv, list4 );
                var idCrvA = charIDToTypeID( "CrvA" );
                list1.putObject( idCrvA, desc20 );
            desc9.putList( idAdjs, list1 );
        var idCrvs = charIDToTypeID( "Crvs" );
        desc8.putObject( idT, idCrvs, desc9 );
    executeAction( idsetd, desc8, DialogModes.NO );
    return app.activeDocument.activeLayer;
    ////// add curve point //////
    function addCurvePoint (theList, valueHor, theNumber) {
    var desc11 = new ActionDescriptor();
    var idHrzn = charIDToTypeID( "Hrzn" );
    desc11.putDouble( idHrzn, valueHor[theNumber] );
    var idVrtc = charIDToTypeID( "Vrtc" );
    desc11.putDouble( idVrtc, valueHor[theNumber+1] );
    var idPnt = charIDToTypeID( "Pnt " );
    theList.putObject( idPnt, desc11 );
    ////// sort a double array, thanks to sam, http://www.rhinocerus.net/forum/lang-javascript/ //////
    function sortArrayByIndexedItem(a,b) {
    var theIndex = 0;
    if (a[theIndex]<b[theIndex]) return -1;
    if (a[theIndex]>b[theIndex]) return 1;
    return 0;

  • Adjustment Layer for Shapes

    Hey Guys,
    So I was having to change a bunch of properties of multiple shape layers and I was thinking, Wouldn't it be cool to have shape adjustment layers?
    Example:
    You have 10 different shape layers  - 5 Squares and 5 triangles
    Create a new shape adjustment layer and apply "round corners"
    You can now very easily control the round corners for all layers without having to go into each layer
    Then maybe you could have inclusions and exclusions - You could include all shape layers with "square_01" in the name, Then the shape adjustment layer would only effect the shape layers with "square_01" in the name.
    I know you can kind of so this by creating multiple polygons under one shape layer but some times you need multiple shape layers.
    Anyone else think this would be handy? Can you already do this and I am just ignorant ?
    Cheers

    I would use property links to accomplish what you describe.
    Property links were added in After Effects 12.1:
    After Effects CC (12.1): what’s new and changed

  • Color balance adjustment layer opening as levels

    When I try creating a color balance adjustment layer is it opening a levels adjustment layer. I'm using the New Adjustment Layer button at the bottom of the Layers panel. Is this a bug with CS6? How can I fix the problem?

    This is the process that I go through:
    Selecting the adjustment icon at the bottom of the Layers Panel, as shown below.
    I select color balance, as shown below.
    The properties panel is brought up, and shows the color balance adjustment controls.
    In your properties panel, are your saying when you follow the above, that level adjustments come up?
    Janelle

  • A mask on a layer  with Button compo drops the label

    Hi
    I think its a bug , when i create a mask over a layer witch
    contains a button component instance , the label of this button is
    masked by the mask while the button it self is displayed fine .
    any ideas ?
    thanks
    ps : it does the same with any text field (static or dynamic)
    unless i embed the fonts and then its displayed fine .

    It's under: Stuff that makes no sense... To clarify I
    uploaded a quick example:
    embedFont
    First frame has a dynamic textfield, "HelveticaRounded Bold"
    as font family (you can change that to whatever font you are using)
    and 2 lines of code:
    _global.style.setStyle("fontFamily" , "HelveticaRounded
    Bold"); // change the HelveticaRounded Bold to the font embedded in
    the first frame
    _global.style.setStyle("embedFonts" , true);
    The second frame has a button component masked.
    Hope this helps.

  • PSE 11 - Adjustment Layer/Layer Content Options & Menus Not Working

    Good evening to all.
    I am using PSE 11, Mac version, updated to the latest version.
    I am unable to edit any type of adjustment layer, i.e., hue/saturation, levels, brightness/contrast.
    I am able to edit fill layers without any issues.
    As a side note, I am also unable to select any of the items under the "Window" menu.
    I am attaching a screen capture of the menu that I am talking about.
    Thank you very much in advance for any and all your help.

    Good evening.  I guess you're correct.  I was just too frustrated to think straight and I guess these are two different issues, so I'll begin with the adjustment layer issue.
    I'm attaching several screen captures to show you what I mean by not being able to edit adjustment layers.
    This screen would be my original image
    This screen shows me adding a new adjustment layer from the "Layer" menu...
    In this case, a hue/saturation adjustment layer
    As you can see, I have the adjustment layer on right side...  but when I double click on it to edit the layer, nothing happens
    Nothing happens when I try to edit the adjustment layer when I try to use "Layer Content Options..." from the menu directly either
    So there you have it...  this is where I am stuck at...

  • Adjustment Layer problem (Premier Pro CC)

    Whenever I add an adjustment layer on the top of a video and apply any effect to it, I don't see any created effect from the adjustment layer. The only way to fix this is to restart PP and the effect will be visible. But this is just annoying.
    Thanks any advance.
    Specs:
    Windows 7 on latest updates
    Premier Pro CC on latest updates (v7.2.2)
    I use GTX 780 (unclocked) but my CPU (i7 2600k) is overclocked (4.6ghz)
    16gb RAM (overclocked)
    All of my other PC stuff are installed on latest drivers too

    nevermind, it's Red Giant problem at thier end...
    https://support.redgiant.com/entries/21946165-Magic-Bullet-Looks-and-Adjustment-Layers-in- Premiere-CC

  • AppleScript Control over Curves Adjustment Layer

    Hi,
    I would like to create a new Curves Adjustment Layer for the current document using AppleScript.  Then, I would like to be able to manipulate the curve data from within my script.  Is this possible?  I have not found a sample that illustrates doing this.
    I am working on Photoshop CS3 Extended on a MacBook Pro.
    Thank you
    -- Bennett

    Here is a sample of a pre-built Curves Layer Adjustment. It should make some sense. In this you can see how to set 5 curve points and adjust the composite channels with the option of grouping the layer to a previous one.
    tell application "Adobe Photoshop CS2"
    activate
    set Doc_Ref to the current document
    tell Doc_Ref
    set {ah, av, bh, bv, ch, cv, dh, dv, eh, ev, group} to {0, 0, 63, 53, 124, 127, 192, 204, 255, 255, true}
    set myJS to "AdjustCurvesLayer();
    // The Adjustment Layer Recorded Function
    function AdjustCurvesLayer() {
      function cTID(s) { return app.charIDToTypeID(s); };
      function sTID(s) { return app.stringIDToTypeID(s); };
        var desc1 = new ActionDescriptor();
            var ref1 = new ActionReference();
            ref1.putClass( cTID('AdjL') );
        desc1.putReference( cTID('null'), ref1 );
            var desc2 = new ActionDescriptor();
            desc2.putBoolean( cTID('Grup'), " & group & " ); // Group to previous layer boolean
                var desc3 = new ActionDescriptor();
                    var list3 = new ActionList();
                        var desc4 = new ActionDescriptor();
                            var ref2 = new ActionReference();
                            ref2.putEnumerated( cTID('Chnl'), cTID('Chnl'), cTID('Cmps') ); // Comosite Channels
                        desc4.putReference( cTID('Chnl'), ref2 );
                            var list4 = new ActionList();
                                var desc5 = new ActionDescriptor();
                                desc5.putDouble( cTID('Hrzn'), " & ah & " ); // Point 1
                                desc5.putDouble( cTID('Vrtc'), " & av & " ); // Point 1
                            list4.putObject( cTID('Pnt '), desc5 );
                                var desc6 = new ActionDescriptor();
                                desc6.putDouble( cTID('Hrzn'), " & bh & " ); // Point 2
                                desc6.putDouble( cTID('Vrtc'), " & bv & " ); // Point 2
                            list4.putObject( cTID('Pnt '), desc6 );
                                var desc7 = new ActionDescriptor();
                                desc7.putDouble( cTID('Hrzn'), " & ch & " ); // Point 3
                                desc7.putDouble( cTID('Vrtc'), " & cv & " ); // Point 3
                            list4.putObject( cTID('Pnt '), desc7 );
                                var desc8 = new ActionDescriptor();
                                desc8.putDouble( cTID('Hrzn'), " & dh & " ); // Point 4
                                desc8.putDouble( cTID('Vrtc'), " & dv & " ); // Point 4
                            list4.putObject( cTID('Pnt '), desc8 );
                                var desc9 = new ActionDescriptor();
                                desc9.putDouble( cTID('Hrzn'), " & eh & " ); // Point 5
                                desc9.putDouble( cTID('Vrtc'), " & ev & " ); // Point 5
                            list4.putObject( cTID('Pnt '), desc9 );
                        desc4.putList( cTID('Crv '), list4 );
                    list3.putObject( cTID('CrvA'), desc4 );
                desc3.putList( cTID('Adjs'), list3 );
            desc2.putObject( cTID('Type'), cTID('Crvs'), desc3 );
        desc1.putObject( cTID('Usng'), cTID('AdjL'), desc2 );
        executeAction( cTID('Mk  '), desc1, DialogModes.NO );
    do javascript myJS show debugger on runtime error
    end tell
    end tell

Maybe you are looking for