Skip to main content
Joachim Hiller
Known Participant
November 22, 2017
Answered

Stop Generator Image Assets

  • November 22, 2017
  • 2 replies
  • 2422 views

Hi,

is there any way to stop the Generator "Image Assets".

To activate i use

var desc1 = new ActionDescriptor();

desc1.putString(app.stringIDToTypeID("javaScriptName"), "Bild-Assets");

executeAction(app.stringIDToTypeID('AdobeScriptAutomation Scripts'), desc1, DialogModes.NO);

This topic has been closed for replies.
Correct answer r-bin

Thank you! I have another question, though.

Is it possiblt to start the generator the same way?

With my code, it only works in the german Photoshop version.

Setting the value for generatorSettigns "{\"enabled\":false}" to true only works, once the generator is started.

generator_45_assets.putString(stringIDToTypeID("json"), "{\"enabled\":true}"); 


Try universal localized code. I have it working in the russian version ).

var d = new ActionDescriptor();

d.putString( charIDToTypeID( "jsNm" ), localize("$$$/JavaScripts/Generator/ImageAssets/Menu") );

d.putString( charIDToTypeID( "jsMs" ), "undefined" );

executeAction( stringIDToTypeID( "AdobeScriptAutomation Scripts" ), d, DialogModes.NO );

You can also take the code from the one that is executed in the Scripts / generate.jsx file. It seems to work as it should.

start_assets()

function start_assets()

    {

    var pluginName = "generator-assets-dummy-menu";

    try {

        var generatorDesc = new ActionDescriptor();

        generatorDesc.putString (app.stringIDToTypeID ("name"), pluginName);

        var returnDesc = executeAction( app.stringIDToTypeID ("generateAssets"), generatorDesc, DialogModes.NO );

        }

    catch( e ) { alert(); }

    }

2 replies

Known Participant
September 25, 2020

r-bin,
I have tried your code but it does not stop Generator "Image Assets" for me (As I believe was Joachim_Hiller's question.)  It will only start asset generation.  I am not a pro on Action Manager so I might be missing something basic. 

 

I've tried this exact code in a JS and, as I mentioned, it will TURN ON asset generation but not off...

 

start_assets()

 

function start_assets()

    {

    var pluginName = "generator-assets-dummy-menu";

    try {

        var generatorDesc = new ActionDescriptor();

        generatorDesc.putString (app.stringIDToTypeID ("name"), pluginName);

        var returnDesc = executeAction( app.stringIDToTypeID ("generateAssets"), generatorDesc, DialogModes.NO );

        }

    catch( e ) { alert(); }

    };

 

Many thanks,

 

 

 

Kukurykus
Legend
September 25, 2020

Start means start? 😛 For stop look few posts higher.

Legend
November 22, 2017

Never used this thing. If I correctly understood what you meant, then in the CC2018 you can turn off for the active document in this way (verified):

try {

    var r = new ActionReference(); 

    r.putProperty( charIDToTypeID( "Prpr" ), stringIDToTypeID( "generatorSettings" ) ); 

    r.putEnumerated( charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") ); 

    var d = executeActionGet(r);   

    var generatorSettings = d.getObjectValue(stringIDToTypeID("generatorSettings"));

    var generator_45_assets = generatorSettings.getObjectValue(stringIDToTypeID("generator_45_assets"));

    var json = generator_45_assets.getString(stringIDToTypeID("json"));

    generator_45_assets.putString(stringIDToTypeID("json"), "{\"enabled\":false}");

    generatorSettings.putObject(stringIDToTypeID("generator_45_assets"), stringIDToTypeID("generator_45_assets"), generator_45_assets);

    var d = new ActionDescriptor();

    d.putReference( charIDToTypeID( "null" ), r );

    d.putObject( charIDToTypeID( "T   " ), charIDToTypeID( "null" ), generatorSettings );

    executeAction( charIDToTypeID( "setd" ), d, DialogModes.NO );

    }

catch(e) { alert(e); }

Joachim Hiller
Known Participant
November 23, 2017

My goal is to activate and deactivate the generator (Image Assets) from my html panel

File > Generate > Image Assets

The code from the scriptlistener looks like this:

var desc1 = new ActionDescriptor(); 

desc1.putString(app.stringIDToTypeID("javaScriptName"), "Bild-Assets"); 

executeAction(app.stringIDToTypeID('AdobeScriptAutomation Scripts'), desc1, DialogModes.NO); 

But with that I can only activate the generator (Image Assets)

Thank you very much

Joachim Hiller
Known Participant
November 23, 2017

Thank you! I have another question, though.

Is it possiblt to start the generator the same way?

With my code, it only works in the german Photoshop version.

Setting the value for generatorSettigns "{\"enabled\":false}" to true only works, once the generator is started.

generator_45_assets.putString(stringIDToTypeID("json"), "{\"enabled\":true}");