Skip to main content
Participating Frequently
July 13, 2022
Question

Actions does not replicate commands given on keyboard

  • July 13, 2022
  • 3 replies
  • 1459 views

I have an animation sequence, in which the first layer of the animation appears and the rest are hidden. I want to save the following commands as an Action:

 

1. Duplicate current frame

2. Show all other layers

3. Select backward layer

4. Hide all other layers

 

When I perform this action manually on the keyboard, using the following corresponding shortcuts:

1. option +command + /

2. option + command + ,

3. option + [

4. option + command + shift + ,

 

it works fine. However, when I do the same commands to record an action, it does not work when the action is replayed. The Actions Panel records the following data:

1. Duplicate current animation frame

2. Show , ...

3. Select Backward Layer

4. Hide , ...

 

The idea is to make an animation sequence. Screenshot 1-4 show the recording of the actions using the shortcuts. Screenshot 5 shows the result after playing the recorded action (Animate Numbers), not the result expected since the number 3 should be visible and layer 3 should be selected.

Photoshop Version: 23.2.2 Release

MAC OS

 

This topic has been closed for replies.

3 replies

Stephen Marsh
Community Expert
Community Expert
July 15, 2022

The keyboard shortcuts for layer selection only work with visible layers, a layer with visibility turned off is skipped. Scripts can work-around this limitation.

 

I'm not sure if I am understanding your procedure correctly or not, however, in the Timeline panel there is an option to convert layers to a frame animation which may fast-track this process for you if you are trying to manually create the frames via an action frame by frame. Create frame animation button then make layers from frames menu option.

c.pfaffenbichler
Community Expert
Community Expert
July 14, 2022

I am not sure if I understand the task completely, but maybe this suffices. 

//select next layer below;
// =======================================================
var idslct = charIDToTypeID( "slct" );
    var desc6 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref4 = new ActionReference();
        var idLyr = charIDToTypeID( "Lyr " );
        var idOrdn = charIDToTypeID( "Ordn" );
        var idBckw = charIDToTypeID( "Bckw" );
        ref4.putEnumerated( idLyr, idOrdn, idBckw );
    desc6.putReference( idnull, ref4 );
    var idMkVs = charIDToTypeID( "MkVs" );
    desc6.putBoolean( idMkVs, false );
executeAction( idslct, desc6, DialogModes.NO );
Nilo5EB5Author
Participating Frequently
July 14, 2022

I'll definitely take a look into that! I didn't even know Scripting existed until you told me about it today, so I don't know how to implement the code above yet, but I hope I'll learn soon enough. Thank you very very much for your help today! 

Stephen Marsh
Community Expert
Community Expert
July 15, 2022
c.pfaffenbichler
Community Expert
Community Expert
July 14, 2022

alt-clicking the eye-icon in the Layers Panel seems to record fine. 

Nilo5EB5Author
Participating Frequently
July 14, 2022

I tried alt (in Mac case, Option) + clicking on the layers panel and I get the same erroneous result on the Actions menu. In you case, I see that the Action is recorded as "Show current Layer With Toggle Others". I do not get that message on my Actions panel.

c.pfaffenbichler
Community Expert
Community Expert
July 14, 2022

What if you ctrl-click the visibility icon and select from that menu?