iterate through Photoshop actions

Discussion of Photoshop Scripting, Photoshop Actions and Photoshop Automation in General

Moderators: Tom, Kukurykus

mvadu

iterate through Photoshop actions

Post by mvadu »

Hi,
How do I get list of all available actions, something similar to what File->Automate->Batch window does.
I have a script (with UI) to do certain things for list of user selected files, and I want them to give an option to run any actions on those set of files. I want to list all available actions, and run the user selected action using doAction method.

Professional AI Audio Generation within Adobe Premiere Pro - Download Free Plugin here

xbytor

iterate through Photoshop actions

Post by xbytor »

From xtools:

Code: Select allfunction getActionSets () {
  function cTID(s) { return app.charIDToTypeID(s); };
  var i = 1;
  var sets = [];

  while (true) {
    var ref = new ActionReference();
    ref.putIndex(cTID("ASet"), i);
    var desc;
    var lvl = $.level;
    $.level = 0;
    try {
      desc = executeActionGet(ref);
    } catch (e) {
      break;    // all done
    } finally {
      $.level = lvl;
    }
    if (desc.hasKey(cTID("Nm  "))) {
      var set = {};
      set.index = i;
      set.name = desc.getString(cTID("Nm  "));
      set.toString = function() { return this.name; };
      set.count = desc.getInteger(cTID("NmbC"));
      set.actions = [];
      for (var j = 1; j <= set.count; j++) {
        var ref = new ActionReference();
        ref.putIndex(cTID('Actn'), j);
        ref.putIndex(cTID('ASet'), set.index);
        var adesc = executeActionGet(ref);
        var actName = adesc.getString(cTID('Nm  '));
        set.actions.push(actName);
      }
      sets.push(set);
    }
    i++;
  }

  return sets;
};
mvadu

iterate through Photoshop actions

Post by mvadu »

Thank you xbytor, that was the exact piece I was looking for. Now one small hurdle to cross, how do I supress all popup dialogs from Actions. (like lot of deafult actions have a Stop/Continue warnings, and I want to supress it with default selection of "Continue".