Photoshop as a window-less background process?

Discussion of Automation, Image Workflow and Raw Image Workflow

Moderators: Tom, Kukurykus

bigred

Photoshop as a window-less background process?

Post by bigred »

Has anyone ever approached Adobe about the possibility of having an option to turn off the user interface part of Photoshop?

I have done quite a bit of scripting development and having Photoshop running in the foreground (that is, on the desktop) is getting to be a bottleneck. It also seems to me that, since my application is running (via script API calls from C#) 200-step actions on 100's (sometimes 1000's) of files every day, the overhead of painting each step to the display is costing hours per day.

Talking directly to the image processing logic would be great, but doing so using the API would be ideal. Otherwise, I need to start writing code to translate actions to play back using something faster like imagemagick. Or have our designers switch to a different application. What a choice!?!
Paul MR

Photoshop as a window-less background process?

Post by Paul MR »

If you are using C# all you need is ...

Code: Select allapp.Visible = false;
bigred

Photoshop as a window-less background process?

Post by bigred »

@Paul MR,

Yes, app.Visible = false will hide the app, but does not prevent the initial splash screen and progress pop-ups like "Rasterizing..." from being displayed.

I am trying to run the executable that does this, but from a background process (that is--on Windows--in the console session)

Code: Select all
// establish Ps app instance:
Application app = new Application();
app.Visible = false;
app.DisplayDialogs = PsDialogModes.psDisplayNoDialogs;
app.Open( something );

// other stuff

// close Ps
app.Quit();



The splash screen causes the calling program to emit:

Exception: The type initializer for 'MyNamespace.MyClassThatCallsPhotoshop' threw an exception.

So, Has anyone know if it is
a) possible to run without a desktop,
b) impossible to block everything, or
c) something Adobe is aware of and has told you they won't address.

It seems I would need to specify to the constructor that I want the application in background mode.
Paul MR

Photoshop as a window-less background process?

Post by Paul MR »

I haven't tried running anything with Photoshop hidden.
Maybe there could be some ideas in StackSupport.jsx as there are some functions ...

function ViewlessDocument( desc, pathname )
ViewlessDocument.prototype.addToActiveDocument = function()
function openViewlessDocument( pathname )
ViewlessDocument.prototype.changeMode = function( mode )
ViewlessDocument.prototype.close = function( options )
bigred

Photoshop as a window-less background process?

Post by bigred »

Thanks, Paul MR, that is good, but ultimately, what I am trying to do is run a copy of Photoshop Extended on a server as part of an Action playback server.

This lets our designers record an action for a specific type of raw file, then attach it to a workflow for automatic playback on other raw files of the same type.

I've posted to the Photoshop CS6 forum on the same topic http://forums.adobe.com/thread/981425?tstart=0

The code snippet I used there is

Code: Select all{
     // Manipulate a file COMPLETELY in the background...
     //
     // ...and it is acceptible if only one thread can be active on Application at once;
     // client application will be responsible for preventing concurrent callers
     //
     Application app = new Application(false);
     app,Open( someDocument );
     app, doSomething;
     app.ActiveDocument.Close(psSaveBehavior.psAlwaysSave);
}


TIA