Photoshop Actions: Problem with layer groups

I have recorded several photoshop actions with multiple adjustment layers in layer groups. They work perfectly fine, as long as I do not run a second action with a layer group in it.
As soon as I run a second action with layer groups, the layer order is completely random and messed up. How can I avoid this problem?

Best practices: Usage
Supply pertinent information for quicker answers
The more information you supply about your situation, the better equipped other community members will be to answer. Consider including the following in your question:
Adobe product and version number
Operating system and version number
The full text of any error message(s)
What you were doing when the problem occurred
Screenshots of the problem
Computer hardware, such as CPU; GPU; amount of RAM; etc.

Similar Messages

  • Problem with checkbox group in row popin of table.

    In table row popin I have kept Check Box Group.I have mapped  the texts property of checkbox group to the attribute which is under the subnode of the table.the subnode properties singleton=false,selectioncardinality=0-n,and cardinality=0-n.
    if there are 'n' number of records in the table.each record will have its own row popin and in the row popin there is check box group.
    the check box group in the row popin  belongs to that perticular row.
    but the checkboxegroup values in row popins of all the  rows are getting changed to the row which is lead selected.
    The same scenario  (table in the row popin is showing the values corresponding to its perticular row and all the table values in popin are not getting changed to the one lead selected in the main table)is working fine with the table in place of  checkbox group in row popin with datasource property of table  binded to the subnode
    I cant trace out the problem with checkbox group in place of table.
    Please help me in this regard.I have to place check box group in place of table in row popin.
    Thanks and Regards
        Kiran Kumar K

    I have done the same thing successfully with normal check box ui element. Try using check box in your tabel cell editor instead of check box group.

  • I have got new hardrive windows 8.1 and i have downloaded PS, LE and AE...Clouds...when i open PC so i get massage on rigth corner short time." your photoshop has problem with compalitet"....i have not put things back or used PS,,,what shall i do? LR work

    i have got new hardrive to windows 8.1....when i open my PC so i get message on lower right corner  - very short time - your photoshop has problem with compalitet....i have not used it yet or put brushes and so on back....LR is working fine...i can open photoshop without problem..and AE...what shall i do?...

    Thanks for info:
    A. Backup before doing anything advanced is recommended but not widely used.
    B. Upgrade on vanilla plain (and updated) operatiing system goes flawlessly. Upgrade on "real" computer may depend on "status" of operating system and applications installed. You may not be the last experiencing troubles.
    C. Software vendors expect that users has nearly unlimited disk size, large memory and latest processor.
    D. It is on you to find anything positive to compensate annoyances. Mental balance is in your hands ;-)

  • Strange Problem with Code Groups / Codes

    Hey all, have a strange problem with Code Groups and Codes.
    Our data migration team accidentally loaded an early version of our catalog (code groups and codes) in to our 'Gold' configuration client. They then proceed to delete them all via transaction qs41. However, the code groups have been deleted, but not the codes.
    So, basically, no codes groups exist in table QPGR or QPGT but all the entries remain in QPCD with the assigment to code groups. The usage indicator is not set on the codes so why they did not get deleted with the codes groups is unknown.
    The issue that this is now causing us is that we can't recreate the codes groups with these codes assigned as the system thinks they already exist (via a check on table QPCD i would expect).
    Also, i have been unable to recreate what happened did in other clients... seems very strange.
    Any help appreciated.
    Cheers

    Ben,
    You could try SE11, and see if you can delete the records from there.. but I'm not hopeful...
    Otherwise you may need to write a quick ABAP program to delete the data base entries.
    PeteA

  • Problems with dinamic group

    I migrate the messaing (6.1) and directory(5.2), in the directory migrate the user and group, but i have problems with a group, i send a mail and the user who have menbers no send the mail, and retunt the mail .... and said
    Direcci�n del destinatario: [email protected]
    Motivo: you are not allowed to use this list: [email protected]
    it a dinamic group

    Your group must have a restriction on it, that only certain users are allowed to send to the group. If you are not on that list, then you will be prevented from sending to the group/list.
    Why don't you examine the ldap entry for the group, and see what's in there?

  • Photoshop CS5 Hangs on Layer Group name edits

    Layer Group name edits are causing my PS CS5 to hang repeatedly. At first I thought it was the document I was working in, so I created a generic document, and was able to replicate the problem in the new document.
    With a .psd open, in the layers pallete, I have a Layer Group (A) that contains multiple sub layer groups (B) which contain additional sub layer groups (C). So the hierarchy is a three level layer group. At the sub-most layer group (C) I need to rename the groups to "Three-set colors". Since I have fifteen groups that all need the word "Three" in their labels, it would be most convenient to be able to highlight the word "Three", copy to clipboard and paste. I type in the word "Three" in the layer group name (not in the properties insector) and highlight the word "Three". Thats when PS CS5 hangs, and I have to reboot my system to unfreeze Photoshop. Only Photoshop hangs, the system does not crash. This happens in both 64 and 32 bit, old or new docs.
    The plugins I have are Mask Pro x64 (OnOne) and Sitegrinder x32 (Medialab), but they are not activated when the hang occurs.
    Any ideas?
    PS CS5 12.01 x64
    Win 7 Ultimate
    12 gb ram
    i7 960 @ 320
    ATI Radeon HD 5700
    4x HD's

    I wasn't able to reproduce the problem with either Photoshop CS5 32 bit or x64.  That says there's something different about our systems, and that there's likely not a systemic problem in Photoshop.
    Chris Cox, who replied above, is an Adobe Engineer, by the way.
    I was able to replace parts or all of the names with, or insert the word Three in front of existing layer names.
    Are you seeing any errors in your Windows system logs at the time the hang is occurring?
    Have you updated all your software (e.g., video drivers, Windows Updates, etc.)?
    -Noel

  • Photoshop CS4 - problem with opening image, the image is fully transparent

    I have been using Photoshop for years with no problems.
    I had to reinstall it a couple of time due to my PC having problems.
    But this is the first time i have had this problem.
    I open an image and it is transparent. All you see is the boarder. When i select the boarder you can see the image, but as soon as i click off the boarder it disappears.
    This image shows that you can not see the picture, but there is a file and an image, as you can see the layer on the right with a picture in it.
    This has never happened before, i assume that there is a setting to be changed, but i cannot find it.
    Please help

    Boilerplate-text:
    Does turning off OpenGL in the Performance Preferences and restarting Photoshop have any bearing on the issue?
    Other than that are Photoshop and OS fully updated and have you performed the usual trouble-shooting routines (trashing prefs by keeping command-alt-shift/ctrl-alt-shift pressed while starting Photoshop, 3rd party plug-ins deactivation, system maintenance, font validation, etc.)?

  • Problem with layer sets opening

    Hi,
    I have a problem open layer sets. In my script I get layers index and then iterate throught this layers.
    Here is the script:
    function getAllLayersByIndex(){
           function getNumberLayers(){
           var ref = new ActionReference();
           ref.putProperty( charIDToTypeID("Prpr") , charIDToTypeID("NmbL") )
           ref.putEnumerated( charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
           return executeActionGet(ref).getInteger(charIDToTypeID("NmbL"));
           function hasBackground() {
               var ref = new ActionReference();
               ref.putProperty( charIDToTypeID("Prpr"), charIDToTypeID( "Bckg" ));
               ref.putEnumerated(charIDToTypeID( "Lyr " ),charIDToTypeID( "Ordn" ),charIDToTypeID( "Back" ))//bottom Layer/background
               var desc =  executeActionGet(ref);
               var res = desc.getBoolean(charIDToTypeID( "Bckg" ));
               return res  
           function getLayerType(idx,prop) {      
               var ref = new ActionReference();
               ref.putIndex(charIDToTypeID( "Lyr " ), idx);
               var desc =  executeActionGet(ref);
               var type = desc.getEnumerationValue(prop);
               var res = typeIDToStringID(type);
               return res  
           function getLayerVisibilityByIndex( idx ) {
               var ref = new ActionReference();
               ref.putProperty( charIDToTypeID("Prpr") , charIDToTypeID( "Vsbl" ));
               ref.putIndex( charIDToTypeID( "Lyr " ), idx );
               return executeActionGet(ref).getBoolean(charIDToTypeID( "Vsbl" ));;
           var cnt = getNumberLayers()+1;
           var res = new Array();
           if(hasBackground()){
        var i = 0;
              }else{
        var i = 1;
           var prop =  stringIDToTypeID("layerSection");
           for(i;i<cnt;i++){
              var temp = getLayerType(i,prop);
              if(temp != "layerSectionEnds") res.push(i);
           return res;
           function getLayerVisibilityByIndex( idx ) {
               var ref = new ActionReference();
               ref.putProperty( charIDToTypeID("Prpr") , charIDToTypeID( "Vsbl" ));
               ref.putIndex( charIDToTypeID( "Lyr " ), idx );
               return executeActionGet(ref).getBoolean(charIDToTypeID( "Vsbl" ));
    function makeActiveByIndex( idx, visible ){
        var desc = new ActionDescriptor();
          var ref = new ActionReference();
          ref.putIndex(charIDToTypeID( "Lyr " ), idx)
          desc.putReference( charIDToTypeID( "null" ), ref );     
          desc.putBoolean( charIDToTypeID( "MkVs" ), visible );
       executeAction( charIDToTypeID( "slct" ), desc, DialogModes.NO );
    var groups = getAllLayersByIndex();
        for(var i = groups.length-1; i >= 0 ; i--) {
          makeActiveByIndex( groups[i], true );
          ....working with layers....
    I think, my problem is in function makeActiveByIndex, because it doesn't make active a folder and doesn't open it.
    You can see it on this picture. Active layer set is "Skupina 1" and it is in layer set "hlavicka". But "hlavicka" is not open. WHY??
    Can you help me fix this problem??
    Thank you Domaneni

    Hi, for the past days I've worked on a script to toogle opening and closing layeSets, I've taken the code that TeddyBear posted here: http://ps-scripts.com/bb/viewtopic.php?p=14773 and adjusted it a little bit, and that's what I came up with, I hope it will help you:
    <javascriptresource>
      <name>BCM> ToogleOpen_CloseGroup...</name>
      <category>BCM</category>
    </javascriptresource>
    //For code readability
    // http://ps-scripts.com/bb/viewtopic.php?f=9&t=3235
    function getActiveLayerIndex() {
        var ref = new ActionReference();
        ref.putProperty( charIDToTypeID("Prpr") , charIDToTypeID( "ItmI" ));
        ref.putEnumerated( charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
        return executeActionGet(ref).getInteger(charIDToTypeID( "ItmI" ));
    function cTID(s){return charIDToTypeID(s)}
    function sTID(s){return stringIDToTypeID(s)}
    // =============================
    // The main function
    function closeGroup(layerSet) {
       var m_Name = layerSet.name;
       var m_Opacity = layerSet.opacity;
       var m_BlendMode = layerSet.blendMode;
       var m_LinkedLayers = layerSet.linkedLayers;
      var currINDEX = getActiveLayerIndex();
       var m_bHasMask = hasLayerMask();
       if(m_bHasMask) loadSelectionOfMask();
       if(layerSet.layers.length <= 1) {
          addTempLayerSetIn(currSetIDX-1);
          makeActiveByIndex(currSetIDX+2, false);
          ungroup();
          groupSelected(m_Name);
          deleteTempLayerSetbyIdx(currSetIDX+1);
       } else {
           makeActiveByIndex(currSetIDX, false);
          ungroup();
          groupSelected(m_Name);
       var m_Closed = activeDocument.activeLayer;
       m_Closed.opacity = m_Opacity;
       m_Closed.blendMode = m_BlendMode;
       for(x in m_LinkedLayers) {
          if(m_LinkedLayers[x].typename == "LayerSet")
             activeDocument.activeLayer.link(m_LinkedLayers[x]);
       if(m_bHasMask) maskFromSelection();
       return m_Closed;
    // =============================
    // Below are all necessary subroutines for the main function to work
    function ungroup() {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated( cTID( "Lyr " ), cTID( "Ordn" ), cTID( "Trgt" ) );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       try {
          executeAction( sTID( "ungroupLayersEvent" ), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function addLayer() {
       var m_ActiveLayer          =    activeDocument.activeLayer;
       var m_NewLayer             =    activeDocument.layerSets.add();
       m_NewLayer.move(m_ActiveLayer, ElementPlacement.PLACEBEFORE);
       return m_NewLayer;
    function hasLayerMask() {
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated( sTID( "layer" ), cTID( "Ordn" ), cTID( "Trgt" ));
       var m_Dsc01= executeActionGet( m_Ref01 );
       return m_Dsc01.hasKey(cTID('Usrs'));
    function activateLayerMask() {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated( cTID( "Chnl" ), cTID( "Chnl" ), cTID( "Msk " ) );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       try {
          executeAction( cTID( "slct" ), m_Dsc01, DialogModes.NO );
       } catch(e) {
          var m_TmpAlpha = new TemporaryAlpha();
          maskFromSelection();
          activateLayerMask();
          m_TmpAlpha.consume();
    function deleteMask(makeSelection) {
       if(makeSelection) {
          loadSelectionOfMask();
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated( cTID( "Chnl" ), cTID( "Ordn" ), cTID( "Trgt" ) );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       try {
          executeAction( cTID( "Dlt " ), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function selectLayerMask() {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putEnumerated(cTID("Chnl"), cTID("Chnl"), cTID("Msk "));
       m_Dsc01.putReference(cTID("null"), m_Ref01);
       m_Dsc01.putBoolean(cTID("MkVs"), false );
       try {
          executeAction(cTID("slct"), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function loadSelectionOfMask() {
       selectLayerMask();
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putProperty( cTID( "Chnl" ), cTID( "fsel" ) );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       var m_Ref02 = new ActionReference();
       m_Ref02.putEnumerated( cTID( "Chnl" ), cTID( "Ordn" ), cTID( "Trgt" ) );
       m_Dsc01.putReference( cTID( "T   " ), m_Ref02 );
       try {
          executeAction( cTID( "setd" ), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function maskFromSelection() {
       if(!hasLayerMask()) {
          var m_Dsc01 = new ActionDescriptor();
          m_Dsc01.putClass( cTID( "Nw  " ), cTID( "Chnl" ) );
          var m_Ref01 = new ActionReference();
          m_Ref01.putEnumerated( cTID( "Chnl" ), cTID( "Chnl" ), cTID( "Msk " ) );
          m_Dsc01.putReference( cTID( "At  " ), m_Ref01 );
          m_Dsc01.putEnumerated( cTID( "Usng" ), cTID( "UsrM" ), cTID( "RvlS" ) );
          try {
             executeAction( cTID( "Mk  " ), m_Dsc01, DialogModes.NO );
          } catch(e) {
             activeDocument.selection.selectAll();
             maskFromSelection();
       } else {
          if(confirm("Delete existing mask?", true, "Warning")) {
             activateLayerMask();
             deleteMask();
    function groupSelected(name) {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putClass( sTID( "layerSection" ) );
       m_Dsc01.putReference(  cTID( "null" ), m_Ref01 );
       var m_Ref02 = new ActionReference();
       m_Ref02.putEnumerated( cTID( "Lyr " ), cTID( "Ordn" ), cTID( "Trgt" ) );
       m_Dsc01.putReference( cTID( "From" ), m_Ref02 );
       var m_Dsc02 = new ActionDescriptor();
       m_Dsc02.putString( cTID( "Nm  " ), name);
       m_Dsc01.putObject( cTID( "Usng" ), sTID( "layerSection" ), m_Dsc02 );
       executeAction( cTID( "Mk  " ), m_Dsc01, DialogModes.NO );
       return activeDocument.activeLayer;
    function addToSelection(layerName) {
       var m_Dsc01 = new ActionDescriptor();
       var m_Ref01 = new ActionReference();
       m_Ref01.putName( cTID( "Lyr " ), layerName );
       m_Dsc01.putReference( cTID( "null" ), m_Ref01 );
       m_Dsc01.putEnumerated( sTID( "selectionModifier" ), sTID( "selectionModifierType" ), sTID( "addToSelection" ) );
       m_Dsc01.putBoolean( cTID( "MkVs" ), false );
       try {
          executeAction( cTID( "slct" ), m_Dsc01, DialogModes.NO );
       } catch(e) {}
    function TemporaryAlpha() {
       activeDocument.selection.store((this.alpha = activeDocument.channels.add()));
       activeDocument.selection.deselect();
       this.consume = function() {
          activeDocument.selection.load(this.alpha);
          this.alpha.remove();
    function makeActiveByIndex( idx, visible ){
         if( idx.constructor != Array ) idx = [ idx ];
         for( var i = 0; i < idx.length; i++ ){
              var desc = new ActionDescriptor();
              var ref = new ActionReference();
              ref.putIndex(charIDToTypeID( 'Lyr ' ), idx[i])
              desc.putReference( charIDToTypeID( 'null' ), ref );
              if( i > 0 ) {
                   var idselectionModifier = stringIDToTypeID( 'selectionModifier' );
                   var idselectionModifierType = stringIDToTypeID( 'selectionModifierType' );
                   var idaddToSelection = stringIDToTypeID( 'addToSelection' );
                   desc.putEnumerated( idselectionModifier, idselectionModifierType, idaddToSelection );
              desc.putBoolean( charIDToTypeID( 'MkVs' ), visible );
              executeAction( charIDToTypeID( 'slct' ), desc, DialogModes.NO );
    function deleteActiveLayer(){
       // =======================================================
       var idDlt = charIDToTypeID( "Dlt " );
           var desc752 = new ActionDescriptor();
           var idnull = charIDToTypeID( "null" );
               var ref529 = new ActionReference();
               var idLyr = charIDToTypeID( "Lyr " );
               var idOrdn = charIDToTypeID( "Ordn" );
               var idTrgt = charIDToTypeID( "Trgt" );
               ref529.putEnumerated( idLyr, idOrdn, idTrgt );
           desc752.putReference( idnull, ref529 );
       executeAction( idDlt, desc752, DialogModes.NO );
    function isLayerSet( idx ) {
         var propName = stringIDToTypeID( 'layerSection' );
         var ref = new ActionReference();
         ref.putProperty( charIDToTypeID( "Prpr" ) , propName);
         ref.putIndex( charIDToTypeID ( "Lyr " ), idx );
         var desc =  executeActionGet( ref );
         var type = desc.getEnumerationValue( propName );
         var res = typeIDToStringID( type );
         // alert(res);
         return res == 'layerSectionStart' ? true:false;
    function openGroup1(theGroup) {
       currSetIDX= getActiveLayerIndex();
       if(isLayerSet( currSetIDX ))
        getNamesPlusIDsOfLayerSet();
      makeActiveByIndex(currSetIDX, false);
    function getNamesPlusIDsOfLayerSet(){
       var ref = new ActionReference();
       ref.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
       var count = executeActionGet(ref).getInteger(charIDToTypeID('Cnt '));
      var parId = executeActionGet(ref).getInteger(stringIDToTypeID( 'layerID' ));
       var Names=[];
       var x = 0;
       var y = 0;
       var r = 0;
       currINDEX = getActiveLayerIndex();
        var i = currINDEX;
       for(i; i > 0 ; i--){
            ref = new ActionReference();
            ref.putIndex( charIDToTypeID( 'Lyr ' ), i );
            var desc = executeActionGet(ref);
            var layerName = desc.getString(charIDToTypeID( 'Nm  ' ));
            var Id = desc.getInteger(stringIDToTypeID( 'layerID' ));
            var ls = desc.getEnumerationValue(stringIDToTypeID("layerSection"));
            ls = typeIDToStringID(ls);
            // alert(layerName+": _ :"+ls);
            if(ls == "layerSectionStart"){x++};
            if(layerName.match(/^<\/Layer group/) )
              y ++;
              r = x - y;
              if(r == 0 && ls == "layerSectionEnd"){break};
              continue
            if(ls == "layerSectionContent"){makeActiveByIndex(i,false);break};
            var layerType = typeIDToStringID(desc.getEnumerationValue( stringIDToTypeID( 'layerSection' )));
            var isLayerSet =( layerType == 'layerSectionContent') ? false:true;
    Names.push([[Id],[layerName],[isLayerSet]]);
    return Names;
    function getLayersNb()//function to find out if the number of layers in the document
        var ref = new ActionReference();
        ref.putProperty( charIDToTypeID( 'Prpr' ), stringIDToTypeID('numberOfLayers') );
        ref.putEnumerated( charIDToTypeID( "Dcmn" ), charIDToTypeID( "Ordn" ), charIDToTypeID( "Trgt" ) );
        var desc = executeActionGet(ref);
        var numberOfLayers = desc.getInteger(stringIDToTypeID('numberOfLayers'));
        return numberOfLayers;
    function toogleOpenCloseSet(){
      myALayerIDX = getActiveLayerIndex();
      myGroupP = app.activeDocument.activeLayer;
      if(!isLayerSet(myALayerIDX)){
          myGroupP = app.activeDocument.activeLayer.parent;
          if(myGroupP.typename != "Document"){
            if(isSetOpened1(myGroupP)){closeGroup(myGroupP)}else{openGroup1(myGroupP)};
      }else{
        if(isSetOpened1(myGroupP)){closeGroup(myGroupP)}else{openGroup1(myGroupP)};
    function getFristLayerSetChildVisible(){
      xx = false;
       var ref = new ActionReference();
       ref.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
       var count = executeActionGet(ref).getInteger(charIDToTypeID('Cnt '));
      var parId = executeActionGet(ref).getInteger(stringIDToTypeID( 'layerID' ));
       var Names=[];
        var x = 0;
        var y = 0;
        var r = 0;
       currINDEX = getActiveLayerIndex();
        var i = currINDEX;
       for(i; i > 0 ; i--){
            ref = new ActionReference();
            ref.putIndex( charIDToTypeID( 'Lyr ' ), i );
            var desc = executeActionGet(ref);
            var layerName = desc.getString(charIDToTypeID( 'Nm  ' ));
            var Id = desc.getInteger(stringIDToTypeID( 'layerID' ));
            var ls = desc.getEnumerationValue(stringIDToTypeID("layerSection"));
            ls = typeIDToStringID(ls);
            var vis = desc.getInteger(stringIDToTypeID( 'visible' ));
            // alert(layerName+": _ :"+vis);
    /*        if(desc.hasKey(stringIDToTypeID("visible")))
              alert(desc.getType(stringIDToTypeID("visible")));
            if(ls == "layerSectionStart"){x++};
            if(vis == 1 && Id!=parId && r!=0){
              var theOBj = {id:Id, lname:layerName, idx:i};
              xx =true;
              Names.push(theOBj);
              break;
            if(layerName.match(/^<\/Layer group/) )
              y ++;
              r = x - y;
              if(r == 0 && ls == "layerSectionEnd"){break};
              continue
        return Names;
    function getLastChildIdx(){
      xx = false;
       var ref = new ActionReference();
       ref.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
       var count = executeActionGet(ref).getInteger(charIDToTypeID('Cnt '));
      var parId = executeActionGet(ref).getInteger(stringIDToTypeID( 'layerID' ));
       currINDEX = getActiveLayerIndex();
        var i = currINDEX;
        var x = 0;
        var y = 0;
        var r = 0;
        var lastChIdx = 0;
       for(i; i > 0 ; i--){
            ref = new ActionReference();
            ref.putIndex( charIDToTypeID( 'Lyr ' ), i );
            var desc = executeActionGet(ref);
            var layerName = desc.getString(charIDToTypeID( 'Nm  ' ));
            var Id = desc.getInteger(stringIDToTypeID( 'layerID' ));
            var ls = desc.getEnumerationValue(stringIDToTypeID("layerSection"));
            ls = typeIDToStringID(ls);
            var vis = desc.getInteger(stringIDToTypeID( 'visible' ));
            if(ls == "layerSectionStart"){x++};
            if(layerName.match(/^<\/Layer group/) )
              y ++;
              r = x - y;
              if(r == 0 && ls == "layerSectionEnd")
                lastChIdx = i;
                break;
            // alert(x+" _ "+y+" _ "+r+" _ "+layerName);
        return lastChIdx;
    function getNbOfChilds(){
      xx = false;
       var ref = new ActionReference();
       ref.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
       var count = executeActionGet(ref).getInteger(charIDToTypeID('Cnt '));
      var parId = executeActionGet(ref).getInteger(stringIDToTypeID( 'layerID' ));
       currINDEX = getActiveLayerIndex();
        var i = currINDEX;
        var nb = 0;
        var x = 0;
        var y = 0;
        var r = 0;
       for(i; i > 0 ; i--){
            ref = new ActionReference();
            ref.putIndex( charIDToTypeID( 'Lyr ' ), i );
            var desc = executeActionGet(ref);
            var layerName = desc.getString(charIDToTypeID( 'Nm  ' ));
            var Id = desc.getInteger(stringIDToTypeID( 'layerID' ));
            var ls = desc.getEnumerationValue(stringIDToTypeID("layerSection"));
            ls = typeIDToStringID(ls);
            var vis = desc.getInteger(stringIDToTypeID( 'visible' ));
            if(ls == "layerSectionStart"){x++};
            if(layerName.match(/^<\/Layer group/) )
              y ++;
              r = x - y;
              if(r == 0 && ls == "layerSectionEnd")
                break
              continue
            nb++;
        return nb;
    function isSetOpened1( group ){
      app.activeDocument.activeLayer = group;
      xx = true;
      currSetIDX = getActiveLayerIndex();
      addTempLayerSetIn(currSetIDX-1);
      var fIdx = getActiveLayerIndex();
      makeActiveByIndex(currSetIDX+2, false);
      if(fIdx == getActiveLayerIndex())
        xx = false;
      deleteTempLayerSetbyIdx(currSetIDX+1);
      return xx;
    function addTempLayerSetIn(idxx){
        // =======================================================
        var idMk = charIDToTypeID( "Mk  " );
            var desc58 = new ActionDescriptor();
            var idnull = charIDToTypeID( "null" );
                var ref63 = new ActionReference();
                var idlayerSection = stringIDToTypeID( "layerSection" );
                ref63.putClass( idlayerSection );
            desc58.putReference( idnull, ref63 );
        executeAction( idMk, desc58, DialogModes.NO );
        // =======================================================rename
        var idsetd = charIDToTypeID( "setd" );
            var desc202 = new ActionDescriptor();
            var idnull = charIDToTypeID( "null" );
                var ref209 = new ActionReference();
                var idLyr = charIDToTypeID( "Lyr " );
                var idOrdn = charIDToTypeID( "Ordn" );
                var idTrgt = charIDToTypeID( "Trgt" );
                ref209.putEnumerated( idLyr, idOrdn, idTrgt );
            desc202.putReference( idnull, ref209 );
            var idT = charIDToTypeID( "T   " );
                var desc203 = new ActionDescriptor();
                var idNm = charIDToTypeID( "Nm  " );
                desc203.putString( idNm, "mb-dummy tempTestLayerSetOpen_Closed" );
            var idLyr = charIDToTypeID( "Lyr " );
            desc202.putObject( idT, idLyr, desc203 );
        executeAction( idsetd, desc202, DialogModes.NO );
        // =======================================================move
        var idmove = charIDToTypeID( "move" );
            var desc59 = new ActionDescriptor();
            var idnull = charIDToTypeID( "null" );
                var ref64 = new ActionReference();
                var idLyr = charIDToTypeID( "Lyr " );
                var idOrdn = charIDToTypeID( "Ordn" );
                var idTrgt = charIDToTypeID( "Trgt" );
                ref64.putEnumerated( idLyr, idOrdn, idTrgt );
            desc59.putReference( idnull, ref64 );
            var idT = charIDToTypeID( "T   " );
                var ref65 = new ActionReference();
                var idLyr = charIDToTypeID( "Lyr " );
                ref65.putIndex( idLyr, idxx );
            desc59.putReference( idT, ref65 );
            var idAdjs = charIDToTypeID( "Adjs" );
            desc59.putBoolean( idAdjs, false );
            var idVrsn = charIDToTypeID( "Vrsn" );
            desc59.putInteger( idVrsn, 5 );
        executeAction( idmove, desc59, DialogModes.NO );
    function deleteTempLayerSetbyIdx(idxx){
      // =======================================================
      var idDlt = charIDToTypeID( "Dlt " );
          var desc = new ActionDescriptor();
              var ref = new ActionReference();
              ref.putIndex(charIDToTypeID( 'Lyr ' ), idxx);
              // ref.putIdentifier(charIDToTypeID( 'Lyr ' ), idxx);
              desc.putReference( charIDToTypeID( 'null' ), ref );
      executeAction( idDlt, desc, DialogModes.NO );
    toogleOpenCloseSet();

  • Photoshop cs6 problems with win8

    Problem with cs6 on windows 8 64bit error.
    Could not open a scratch file the file is locked...
    I change the scrath file in photoshop properties to another place. and some error accured.
    Also while open it as administrator it's work but, no Drug and Drop working.
    Also I Install Update 13.0.1
    Please Help

    Noel Carboni wrote:
    Building a test environment to double check a stock Windows 8 config and Photoshop CS6 is going to take some time.
    As it turned out, not so much.
    I had saved a snapshot for a Windows 8 x64 virtual machine when I first installed it, and sure enough I was able to restore that snapshot and install Photoshop successfully in just minutes with no problems. 
    I was able to run Photoshop CS6 x64 13.0.0 just fine.
    I then updated to 13.0.1, which again went without a hitch, and now I'm able to run Photoshop CS6 13.0.1 x64 again without problems.
    Note that this is a bone stock, freshly installed Windows 8 system without any tweaks whatsoever.  There is just a C: drive and Photoshop's configuration is the stock out-of-box-experience.
    I've tried some general dragging and dropping - e.g., of images from Explorer to Photoshop, of layer data from one document to another - with no problems.
    I even shut down the virtual machine, added a disk drive (D:), then asked Photoshop to use D: as scratch.  It had no problem with that either.
    I am willing to say definitively at this point that there is no systemic problem with Photoshop CS6 and WIndows 8 x64 out-of-the-box, though that's not to say there aren't classes of problems with particular video drivers or on systems where the Windows 8 system was installed as an upgrade to an existing system - or even as a clean install but with disk volumes left over from a prior system.
    That last scenario is the one I see causing the most problems - that of having a disk drive formatted under a prior version of Windows, which would have had a different Security ID, and not setting the ownership and permissions so as to allow access by the current username.
    -Noel

  • Importing PSD with Layer-Groups in AE - No align Anchor Point

    Hey folks!
    I am importing a PSD file into AE.
    This PSD includes "normal layers" and "layer-groups".
    At the import-dialouge i choose "Footage Dimension: Layer Size", to get the anchor point in the center of my objects.
    This works just fine in case of the "normal layers", but the "layer-groups" (wich turn into comps in AE) didn't have an align anchor point. Instead of this it is in the center of the whole PSD-file.
    Is there any trick to handle this problem?
    Thanks a lot!

    That's a limitation you have to live with. After all, the PSD dimensions are used for the comp size and in PS groups are just that - organizational structures, not real transform hierarchies, so there is no persistent information.
    Mylenium

  • Problem with multiple group functions

    Hello Everyone...
    I have a huge problem with trying to create a report.
    Here is the situation:
    1. I have a database that registers certain events for units. Each event is stored in a separate register.
    2. There is a specific code that the units have that I need to identify their origin, because they must be grouped by origin. The origin is identified by the first digit of the code. This code only appears in the events that occur after production.
    3. Before that, an order number is used to identify the events.
    4. What I need is to identify the time difference between two specific events, and get the following: average, standard deviation, count, and level of service. The level of service is the percentage of units in which the difference was no higher than the average plus the standard deviation.
    I managed to create a query that does that, but it is too slow.
    Since I can't reveal my code, I will try to explain in words what I did:
    1. I created two almost identical queries that obtain the event information I need. The first one obtains the information of the event that occurs the earliest. (let's call this queries 1 and 2)
    2. As this is supposed to be a generic query that only needs to be modified for different events, it contemplates the case that the event is before production and does not include the specific code I mentioned earlier. So I created another query that uses the order number and looks for a (later) production event to obtain that code. (let's call this query 3).
    3. Then I obtained count, standard deviation and average for the difference between events.
    4. Then, for the service level, I had to create an outside query that again uses queries 1, 2, and 3 because it needs the information of individual units to calculate it. So here is the structure of my query, using some pseudocode (I'm not revealing any actual code):
    Select (averagestd.origin, average, stddev,
    sum(case
    when abs(q2.vehicle_event_dt - q1.vehicle_event_dt -
    average) <= stddev then
    1
    else
    0
    end) / count service_level from
    (select q1.origin,
    avg(q2.vehicle_event_dt -q1.vehicle_event_dt),
    stddev(q2.vehicle_event_dt - q1.vehicle_event_dt),
    count(*) from
    (select {event data} from query1, query3 where
    query1.order_number = query3.order_number) q1,
    (select {event data} from query2, query3 where
    query1.order_number = query3.order_number) q2
    where q1.order_number=q2.order_number) avgstd,
    (select {event data} from query1, query3 where
    query1.order_number = query3.order_number) q1,
    (select {event data} from query2, query3 where
    query1.order_number = query3.order_number) q2
    where q1.order_number = q2.order_number and
    q1.origin = avgstd.origin
    The database is huge and it's taking too long to run it.
    Do you have any idea on how can I optimize this query?
    All the information in all queries comes from the same table.
    Thank you very much for your help.
    Eduardo Schnadower

    Okay, so my report is set up as above with 4 groups
    group 1 group code
    group 2 sub group code
    group 3 customer code
    group 4 product code
    what i need to be able to do is select the sub group total and run a sub report to display the products total for that sub group and then the same for group, run a report from the group total to show the products which make up that group total. Is there any other way to acheive this?
    Cheers Paul

  • Adobe Photoshop CS3 - Problem with Trial

    I recently downloaded and installed Adobe Photoshop CS3 directly from Adobe as it is the latest version my Mac supports. Upon start up, I am greeted with two options: a) I have a serial number for this product. and b) I want to try Adobe Photoshop CS3 free for 30 days. Seeing how I am simply looking to evaluate and have not purchased said product, I selected option b.
    However, upon clicking "Next >" I am greeted by an error. "Problem with Trial" I am left with nothing but wasted time. This is the first time I have ever installed Adobe Photoshop CS3 so I do not understand why it will only allow access with a serial number. Any help to allow me to try this software is appreciated.
    Thanks.

    Could the trial have a time bomb in it that prevents use after several years? There's not much of a need for Adobe to allow trials to run for so long after the product's life cycle has concluded.

  • Photoshop CS6 problems with Lion OS!

    I am a Mac user of the creator suite and have not upgraded to the Lion OS because of many reported problems with Photoshop and lightroom running under Lion. Does anyone know if CS6 and Lightoom 4 have similar problems, or has Adobe fixed them in these versions?

    tamashebi wrote:
    I am a Mac user of the creator suite…
    "Creator suite"? Yeah, right… 

  • Adobe Photoshop Elements Problem with update 9.0.3

    Problem with updates Elements 9.0.3
    Message title was edited by: Brett N

    Then follow the rest of the directions here:
    Error "Patch cannot be applied" | Photoshop Elements 9.0.3 update | Windows
    http://helpx.adobe.com/photoshop-elements/kb/error-patch-cannot-applied-photoshop.html

  • Adobe Photoshop CC, problem with color noise/pixelation on the monitor display

    After downloading Adobe Photoshop CC, my images come in with color noise/pixelation on the monitor display. I've tried checking the color space preferences, but this doesn't help. I didn't have this problem before. Is there anything else I can check? There's no problem with LR, just Photoshop.

    My performance settings are: Available RAM 10905 MB/using 7633 MG (70 percent); cache levels 4, history 20, cache tile size 1024K. However, I noticed under Graphics processer settings, it is set on Advanced Drawing Mode - perhaps this should be changed to Normal or Basic Mode? Your help is very much appreciated.

Maybe you are looking for

  • Power Mac G5 Refuses to start with new RAM!

    I have a Power Mac G5 Dual 1.8GHz June 2004. I know I read somewhere online that it takes 1GB sticks of RAM, and that it has to be dual channel. I went to Best Buy today and got myself 2 sticks of 1GB DDR PC3200 "Compatible with 400/333/266MHz" Dimms

  • Removed Safari and now can't install it.

    For some odd reason, Safari stopped autofilling email addresses in Yahoo mail. I'm not sure if it was something I did, but it definately happened. The first thing I did was to "reset" Safari. That didn't help. So, I decided to download Firefox to see

  • Purchase order SAPFM06P print program to smartform

    Purchase order SAPFM06P,   The above programs referes to PO script form. Now i have created PO smartform. I am looking for program to call smartform. But this program refers to script. So how can i find the smartform calling  program. Regards, Vasude

  • Cs3 won't respond

    I have photoshop cs3 and it quit responding. I uninstalled it and reinstalled it. it never gave me the window to enter the keycode. Anyone know how i can fix this and get it working again.

  • From time to time screen flashes black when scrolling

    Hi all! My system: Fennec 32.0, Teclast x98 3g, Intel z3735D, Android 4.2.2 From time to time I observe screen flashing black when scrolling any page. I could not find consistent pattern, but maybe it happens when I have 3 or more opened tabs. Could