Photoshop reacting to scripts differently over time

Anyone, especially newbies, asking for help with Photoshop Scripting and Photoshop Automation - as opposed to those contributing to discussion about an aspect of Photoshop Scripting

Moderators: Tom, Kukurykus

essejesse

Photoshop reacting to scripts differently over time

Post by essejesse »

I have written a handful of scripts, which I update occasionally. My team and I recently have had issues with some of them, but are incapable of consistently reproducing the problem. This caused me to start thinking about when and how the errors were happening. Over time, I realized that with a restart of photoshop, things usually returned to normal, but this left me wondering why.

My questions are: If Photoshop starts causing errors, or misreads the script after a while, is this something I have done wrong within the script itself? Do others encounter this problem as well? Is there a way to fix it? Am I crazy?

No specific script, really any of the longer ones (300-400 lines total, half a dozen functions or so).

Here's an example case.
Monday, I start up the computer and begin working. Photoshop is opened, but I don't need it for the scripts right now.
Wednesday, I need to use one of my scripts to save out images to multiple locations, it works fine.
Thursday, I use it again, but the last part just isn't working. 5 of 6 steps of a function are performed, and then it just stops.
Friday, I continue to get errors, but then quit and restart Photoshop and the script works fine.

If it's just a matter of restarting Photoshop regularly, this would seem like a new development. I've gone years with just a weekly computer restart, and my programs all remain open for ease of use.

Thanks!
essejesse

Photoshop reacting to scripts differently over time

Post by essejesse »

I forgot to mention. Other errors we get are things like when saving ruler units to later restore them, every once in a while we will have to restart photoshop because instead of doing what is intended, the preferences just open up and wait for user input.

Code: Select allvar originalUnit = preferences.rulerUnits
preferences.rulerUnits = Units.PIXELS

Or the folder to save something in will just randomly switch from prompting to saving without asking, with no discernible reason. That one can go on for a while and then all the sudden it will start asking for user permission to save again.

I thought that may have had to do with the starting point, like if there was no history it saves without asking, or something. But I tried adding a history state that didn't effect the visual appearance of the file at all, and we still get this sometimes.
pfaffenbichler

Photoshop reacting to scripts differently over time

Post by pfaffenbichler »

I can offer no pertinent observations.
But I am afraid unless you can provoke the behaviour halfway reliably it may be difficult to trouble-shoot.

Can you post at least one of the affected Scripts and describe how it fails exactly on the occasions it does fail inexplicably?
xbytor

Photoshop reacting to scripts differently over time

Post by xbytor »

Try resetting your preferences. Beyond that, daily restarts may be your only option. I have seen similar odd behaviour before but it was typically a new release of PS and the problem(s) would disappear on an update.
essejesse

Photoshop reacting to scripts differently over time

Post by essejesse »

I'll give the preferences a shot the next time I'm having problems so I can see if that helps.

Here's one of the main scripts we use. Besides this problem, I'd love feedback on how it's constructed. I have a very limited knowledge of what I'm doing, and have relied on this site for help, with great results.

Code: Select all#target Photoshop

//saving original units and setting ruler units to pixels
var originalUnit = preferences.rulerUnits
preferences.rulerUnits = Units.PIXELS

var userName = Folder('~').displayName.match(/[^\\]+$/);
var myDoc=app.activeDocument


//reset the fore and background colors
resetColors ()
function resetColors () {
    var black = new SolidColor;
    black.rgb.red = 0;
    black.rgb.green = 0;
    black.rgb.blue = 0;
    app.foregroundColor = black;
    // Create a solid colour for White
    var white = new SolidColor;
    white.rgb.red = 255;
    white.rgb.green = 255;
    white.rgb.blue = 255;
    app.backgroundColor = white;
    };
/////////////////////////////////////////////////////

/////////////////////////////remove hidden layers from layer sets and top level
var deleteMe=new Array()
for (var i=0;i<myDoc.layerSets.length;i++) {
    for (var e=0;e<myDoc.layerSets.artLayers.length;e++) {
        if (myDoc.layerSets.artLayers[e].visible==false) {
            deleteMe.push(myDoc.layerSets.artLayers[e])
        }
    }
}
for (var a=0;a<myDoc.layers.length;a++) {
    if (myDoc.layers[a].visible==false) {
        deleteMe.push(myDoc.layers[a])
        }
    }
for (var u=0; u<deleteMe.length; u++) {
    deleteMe.remove()
    }
/////////////////////////////convert to RGB if not already
if(myDoc.mode !== DocumentMode.RGB){
    try {
        myDoc.mergeVisibleLayers()//try in case it's a single layer document that happens to be in CMYK
        }
    catch (err) {}
    myDoc.changeMode(ChangeMode.RGB);
    }
/////////////////////////////
var myLayer = myDoc.layers[myDoc.layers.length-1]
    if (myLayer.visible) {// prompt for background removal and select path to use
        //turn background into layer, if necessary
        var whiteBackground = confirm ("Do you need to remove the white background for PNG transparency?")
        //if so, ask which path to use
        if (whiteBackground) {
            myDoc.activeLayer = myLayer
            myLayer.isBackgroundLayer = false //try moving this up above all the ifs
            var dlg = new Window('dialog', "Which path will remove the white background?", [500,300,840,525]);
            dlg.pathList = dlg.add('listbox', [15,15,325,137], 'field', {multiselect: false});
            // populate the list with the open files’ names;
            for (var o = 0; o < myDoc.pathItems.length; o++) {
            dlg.pathList.add ("item", myDoc.pathItems[o].name);
            };
            dlg.pathList.items[0].selected = true;
            // buttons for ok, and cancel;
            dlg.buttons = dlg.add('panel', [15,152,325,210], '');
            dlg.buttons.buildBtn = dlg.buttons.add('button', [160,14,291,39], 'OK', {name:'ok'});
            dlg.buttons.cancelBtn = dlg.buttons.add('button', [14,14,145,39], 'Cancel', {name:'cancel'});
            // show the dialog;
            dlg.center();
            var myReturn = dlg.show ();
                if (myReturn == true) {
                myDoc.pathItems.getByName(dlg.pathList.selection).makeSelection ()
                myDoc.selection.invert()
                myDoc.selection.clear()
                }   
            }
        }

/////////////////////////////////////////////////////

//JPG save options
jpgSaveOptions = new JPEGSaveOptions()
jpgSaveOptions.embedColorProfile = true
jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE
jpgSaveOptions.matte = MatteType.WHITE
jpgSaveOptions.quality = 12

/////////////////////////////////////////////////////
//mask history and set history state variable for later reference
app.purge(PurgeTarget.HISTORYCACHES);
var history = myDoc.historyStates.length -1;


myDoc.suspendHistory("Standard Saves", "standardSaves()" )

function standardSaves() { //this is wrapping the whole standard saves in a function so that it can be masked in the history as one state change and modified after the fact, if further saves are needed
//initial resize
myDoc.resizeImage (undefined, undefined, 300, ResampleMethod.NONE)

//first save (300 DPI JPG) using file name to determine folder in 300 DPI

var fileName = myDoc.name;
var saveName = fileName.match(/^(\d{2})(\d{2})/); //Regular Expression to determine a file name match of two sets of two numbers (four numbers total)
try {
    if(saveName != null ){// make sure name has 4 numbers at the start
        var saveFolder = saveName[1]+'00s';// use first two nubmers for folder name
        var myHiResPrompt = Folder("/Volumes/mac share/Product Images/300 DPI/"+saveFolder+'/'+saveName[1]+saveName[2]); //assigning the proper folder
            if (!myHiResPrompt.exists){// if folder doesn't exists ask it they want to create it.
                var createFolder = confirm ("The folder on mac share (300 DPI/"+saveName[1]+saveName[2]+") does not exist, do you wish to create it?");
                if (createFolder==true) {// if they say yes then go ahead and create
                    myHiResPrompt.create();
                }
            }
            if (myHiResPrompt.exists) {// the folder either already existed or user just created so save
                myDoc.saveAs (new File (myHiResPrompt),jpgSaveOptions,false, Extension.LOWERCASE);
            }// folder doesn't exists so user must have said no.
            else {
                var folderlessPrompt = Folder ("Volumes/mac share/Product Images/300 DPI/"+saveFolder+'/');
                myDoc.saveAs (new File (folderlessPrompt),jpgSaveOptions,false, Extension.LOWERCASE);
                }// end of saves
            }// end of not null

    else {
        var badNameHiResPrompt = Folder("/Volumes/mac share/Product Images/300 DPI")
        myDoc.saveAs (new File (badNameHiResPrompt), jpgSaveOptions, false, Extension.LOWERCASE);
        }
    }// end of try

catch (err) {
    txt= "300 DPI Save Cancelled By " +userName+"\n\n"
    txt+= "The rest of the script will continue to run, but you haven't saved a 300 DPI image."
    alert (txt)
    }

/////////////////////////////////////////////////////

//second resize
if(myDoc.width > myDoc.height) {
    myDoc.resizeImage (750, undefined, 150, ResampleMethod.BICUBICSHARPER)
    }
else{
    myDoc.resizeImage (undefined, 750, 150, ResampleMethod.BICUBICSHARPER)
    }

//second save (150 DPI JPG) using variable to prompt proper folder selection
try {
    if(saveName != null ){// make sure name has 4 numbers at the start
        var saveFolder = saveName[1]+'00s';// use first two nubmers for folder name
        var myMidResPrompt = Folder("/Volumes/mac share/Product Images/150 DPI/"+saveFolder+'/'+saveName[1]+saveName[2]); //assigning the proper folder
            if (!myMidResPrompt.exists){// if folder doesn't exists ask it they want to create it.
                var createFolder = confirm ("The folder on mac share (150 DPI/"+saveName[1]+saveName[2]+") does not exist, do you wish to create it?");
                if (createFolder==true) {// if they say yes then go ahead and create
                    myMidResPrompt.create();
                }
            }
            if (myMidResPrompt.exists) {// the folder either already existed or user just created so save
                myDoc.saveAs (new File (myMidResPrompt),jpgSaveOptions,false, Extension.LOWERCASE);
            }// folder doesn't exists so user must have said no.
            else {
                var folderlessPrompt = Folder ("Volumes/mac share/Product Images/150 DPI/"+saveFolder+'/');
                myDoc.saveAs (new File (folderlessPrompt),jpgSaveOptions,false, Extension.LOWERCASE);
                }// end of saves
            }// end of not null

    else {
        var badNameMidResPrompt = Folder("/Volumes/mac share/Product Images/150 DPI")
        myDoc.saveAs (new File (badNameMidResPrompt), jpgSaveOptions, false, Extension.LOWERCASE);
        }
    }// end of try

catch (err) {
    txt= "150 DPI Save Cancelled By " +userName+"\n\n"
    txt+= "The rest of the script will continue to run, but you haven't saved a 150 DPI image."
    alert (txt)
    }

/////////////////////////////////////////////////////

//third resize
if(myDoc.width > myDoc.height) {
    myDoc.resizeImage (288, undefined, 72, ResampleMethod.BICUBICSHARPER)
    }
else {
    myDoc.resizeImage (undefined, 288, 72, ResampleMethod.BICUBICSHARPER)
    }

//third save (72 DPI PNG) using variable to prompt proper folder selection
var layerCount = new Array;// the next four lines account for files that were in CMYK and thus were merged, now having only one layer
layerCount = myDoc.artLayers.length
if (layerCount == 1) {
    myDoc.artLayers.add()

    try {
        if(saveName != null ){// make sure name has 4 numbers at the start
            var saveFolder = saveName[1]+'00s';// use first two nubmers for folder name
            var myLowResPrompt = Folder("/Volumes/marketing/Product Images/Product Images/"+saveFolder+'/'+saveName[1]+saveName[2]); //assigning the proper folder
                if (!myLowResPrompt.exists){// if folder doesn't exists ask it they want to create it.
                    var createFolder = confirm ("The folder on the marketing drive (Product Images/"+saveName[1]+saveName[2]+") does not exist, do you wish to create it?");
                    if (createFolder==true) {// if they say yes then go ahead and create
                        myLowResPrompt.create();
                    }
                }
                if (myLowResPrompt.exists) {// the folder either already existed or user just created so save
                    myDoc.saveAs (new File (myLowResPrompt),PNGSaveOptions,false, Extension.LOWERCASE);
                }// folder doesn't exist so user must have said no.
                else {
                    var folderlessPrompt = Folder ("/Volumes/marketing/Product Images/Product Images/"+saveFolder+'/');
                    myDoc.saveAs (new File (folderlessPrompt),PNGSaveOptions,false, Extension.LOWERCASE);
                    }// end of saves
                }// end of not null

    else {
        var badNameLowResPrompt = Folder("/Volumes/marketing/Product Images/Product Images/")
        myDoc.saveAs (new File (badNameLowResPrompt), PNGSaveOptions, false, Extension.LOWERCASE);
        }
    }// end of try

catch (err) {
    txt= "72 DPI Save Cancelled By " +userName+"\n\n"
    txt+= "You haven't saved a 72 DPI image."
    alert (txt)
    }

myDoc.activeLayer.remove();// removes the layer made just before the try
    }

else {// if the file makes it this far having more than one layer, the additional layer above becomes unnecessary, but the try still needs to be performed.
    try {
    if(saveName != null ){// make sure name has 4 numbers at the start
        var saveFolder = saveName[1]+'00s';// use first two nubmers for folder name
        var myLowResPrompt = Folder("/Volumes/marketing/Product Images/Product Images/"+saveFolder+'/'+saveName[1]+saveName[2]); //assigning the proper folder
            if (!myLowResPrompt.exists){// if folder doesn't exists ask it they want to create it.
                var createFolder = confirm ("The folder on the marketing drive (Product Images/"+saveName[1]+saveName[2]+") does not exist, do you wish to create it?");
                if (createFolder==true) {// if they say yes then go ahead and create
                    myLowResPrompt.create();
                }
            }
            if (myLowResPrompt.exists) {// the folder either already existed or user just created so save
                myDoc.saveAs (new File (myLowResPrompt),PNGSaveOptions,false, Extension.LOWERCASE);
            }// folder doesn't exist so user must have said no.
            else {
                var folderlessPrompt = Folder ("/Volumes/marketing/Product Images/Product Images/"+saveFolder+'/');
                myDoc.saveAs (new File (folderlessPrompt),PNGSaveOptions,false, Extension.LOWERCASE);
                }// end of saves
            }// end of not null

    else {
        var badNameLowResPrompt = Folder("/Volumes/marketing/Product Images/Product Images/")
        myDoc.saveAs (new File (badNameLowResPrompt), PNGSaveOptions, false, Extension.LOWERCASE);
        }
    }// end of try

catch (err) {
    txt= "72 DPI Save Cancelled By " +userName+"\n\n"
    txt+= "You haven't saved a 72 DPI image."
    alert (txt)
    }
}
}

var dlg = new Window('dialog', "Would you like to run any .com processes?", [500,300,840,525]);
dlg.functionList = dlg.add('listbox', [15,15,325,137], 'field', {multiselect: true});
dlg.functionList.add ("item", "Walmart");
dlg.functionList.add ("item", "Target");
dlg.functionList.add ("item", "Home Depot");
dlg.functionList.add ("item", "WMCA");
dlg.functionList.items[0].selected = false;
// buttons for ok, and cancel;
dlg.buttons = dlg.add('panel', [15,152,325,210], '');
dlg.buttons.buildBtn = dlg.buttons.add('button', [160,14,291,39], 'Run!', {name:'ok'});
dlg.buttons.cancelBtn = dlg.buttons.add('button', [14,14,145,39], 'Nope', {name:'cancel'});
// show the dialog;
dlg.center();
var myReturn = dlg.show ();
if (myReturn == true) {
    myDoc.activeHistoryState = myDoc.historyStates[history]
    interactiveCrop ()
    if (dlg.functionList.items[0].selected == true) {Walmart()}
    if (dlg.functionList.items[1].selected == true) {Target()}
    if (dlg.functionList.items[2].selected == true) {HomeDepot()}
    if (dlg.functionList.items[3].selected == true) {WMCA()}
    };

function Walmart() {
    myDoc.suspendHistory("Walmart Save", "Walmart2()")
    }

function Walmart2() {
    if (myDoc.width !== myDoc.height) {
        alert ("Your document has not been cropped properly, it must be a perfect square for any .com image. The script will skip this file version.")
        }
    else {
        if (myDoc.width > 2000 + myDoc.width < 3000) {
            myDoc.resizeImage (undefined, undefined, 300, ResampleMethod.NONE)
            }
        if (myDoc.width < 2000) {
            myDoc.resizeImage (2000, undefined, 300, ResampleMethod.BICUBICSMOOTHER)
            }
        if (myDoc.width > 3000) {
            myDoc.resizeImage (3000, undefined, 300, ResampleMethod.BICUBICSHARPER)
            }

        var wmPrompt = Folder("/Volumes/mac share/Product Images/Sized for Customers/Walmart.com");
        myDoc.saveAs (new File (wmPrompt),jpgSaveOptions,false, Extension.LOWERCASE);
        }
    }

function Target() {
    myDoc.activeHistoryState = myDoc.historyStates["Interactive Crop"]
    myDoc.suspendHistory("Target Save", "Target2()")
    };

function Target2() {
    //ask if there is a shadow to remove
    app.refresh()
    var shadow = confirm ("Do you need to remove the shadow?", undefined, "Shadow Prompt")
    //if so, ask which path to use
    try {
        if (shadow) {
        // dialog for path-selection and stuff;
        var dlg = new Window('dialog', "Which path will select the entire product w/o the shadow?", [500,300,840,525]);
        dlg.pathList = dlg.add('listbox', [15,15,325,137], 'field', {multiselect: false});
        // populate the list with the open files’ names;
        for (var o = 0; o < myDoc.pathItems.length; o++) {
            dlg.pathList.add ("item", myDoc.pathItems[o].name);
        };
        dlg.pathList.items[0].selected = true;
        // buttons for ok, and cancel;
        dlg.buttons = dlg.add('panel', [15,152,325,210], '');
        dlg.buttons.buildBtn = dlg.buttons.add('button', [160,14,291,39], 'OK', {name:'ok'});
        dlg.buttons.cancelBtn = dlg.buttons.add('button', [14,14,145,39], 'Cancel', {name:'cancel'});
        // show the dialog;
        dlg.center();
        var myReturn = dlg.show ();
        if (myReturn == true) {
            myDoc.pathItems.getByName(dlg.pathList.selection).makeSelection ()
            myDoc.selection.invert()
            myDoc.selection.fill (app.backgroundColor)
            };
        }


            if (myDoc.width !== myDoc.height) {       
                alert ("Your document has not been cropped properly, it must be a perfect square for any .com image. The script will skip this file version.")
                }
            else {
                if (myDoc.width < 3000 + myDoc.width > 1300) {
                    myDoc.resizeImage (undefined, undefined, 300, ResampleMethod.NONE)
                    }
                if (myDoc.width < 1300) {
                    myDoc.resizeImage (1300, undefined, 300, ResampleMethod.BICUBICSMOOTHER)
                    }
                if (myDoc.width > 3000) {
                    myDoc.resizeImage (3000, undefined, 300, ResampleMethod.BICUBICSHARPER)
                    }
                var tgtPrompt=Folder("/Volumes/mac share/Product Images/Sized for Customers/Target.com")
                myDoc.saveAs (new File (tgtPrompt), jpgSaveOptions, false, Extension.LOWERCASE);
                    }
                }
    catch (err) {
        alert ("The Target.com save has failed. There are either no paths, or something completely unforseen has happened. Sorry for the inconvenience. If you started with a JPG file, try a PSD instead.")
        }
    }

function HomeDepot() {
    myDoc.activeHistoryState = myDoc.historyStates["Interactive Crop"]
    myDoc.suspendHistory("Home Depot Save", "HomeDepot2()")
    };

function HomeDepot2 () {
    if (myDoc.width !== myDoc.height) {
        alert ("Your document has not been cropped properly, it must be a perfect square for any .com image. The script will skip this file version.")
            }
    else {
        if (myDoc.width < 1000) {
            myDoc.resizeImage (1000, undefined, 72, ResampleMethod.BICUBICSMOOTHER)
            }
        if (myDoc.width > 1000) {
            myDoc.resizeImage (undefined, undefined, 72, ResampleMethod.NONE)
            }
        var hdPrompt=Folder('/Volumes/mac share/Product Images/Sized for Customers/Home Depot.com')
        myDoc.saveAs (new File (hdPrompt),jpgSaveOptions,false, Extension.LOWERCASE);
        }
    };

function WMCA() {
    myDoc.activeHistoryState = myDoc.historyStates["Interactive Crop"]
    myDoc.suspendHistory("WMCA Save", "WMCA2()")
    };

function WMCA2() {
    if (myDoc.width !== myDoc.height) {
        alert ("Your document has not been cropped properly, it must be a perfect square for any .com image. The scrip will skip this file version.")
        }   
    else {
        if (myDoc.width < 4000 + myDoc.width > 750) {
            myDoc.resizeImage (undefined, undefined, 300, ResampleMethod.NONE)
            }
        if (myDoc.width < 750) {
            myDoc.resizeImage (750, undefined, 300, ResampleMethod.BICUBICSMOOTHER)
            }
        if (myDoc.width > 4000) {
            myDoc.resizeImage (4000, undefined, 300, ResampleMethod.BICUBICSHARPER)
            }
        var wmcaPrompt=Folder('/Volumes/mac share/Product Images/Sized for Customers/Walmart.ca - Canada')
        myDoc.saveAs (new File (wmcaPrompt),jpgSaveOptions,false, Extension.LOWERCASE);
        }
    };
function interactiveCrop() {
    myDoc.suspendHistory("Interactive Crop", "interactiveCrop2()")
    }
function interactiveCrop2() {
    myDoc.flatten()
    resetColors ()
    app.refresh()
    alert ("Set the crop bounds to your desired placement, ensuring you maintain the 1:1 aspect ration by holding shift, if you reduce the area.", "Interactive Crop")
    if (app.activeDocument.height > app.activeDocument.width) {
        var largerDimension = app.activeDocument.height}
    else var largerDimension = app.activeDocument.width
    var j = 0;
    if(j==0) {app.displayDialogs = DialogModes.ALL;}
    else{ app.displayDialogs = DialogModes.NO;}

    var Place = new Array( 0, 0 , largerDimension , largerDimension);
    var myAngle = undefined;
    app.activeDocument.crop( Place, myAngle  );
    app.displayDialogs = DialogModes.NO
    j = j + 1;
    }




closeConfirm ()
function closeConfirm () {
    var close= confirm ('Would you like to close your document without saving changes?')
if (close) {
    myDoc.close (SaveOptions.DONOTSAVECHANGES)
    }
}


//resetting original units
app.preferences.rulerUnits = originalUnit

Sorry for the disorganization and stupid notes.

Anyway, we use this when one of our standard images is completed. It gets saved for us to use in the future, but then we have to save it out at different resolutions for the marketing team. The initial saves are the three standard resolutions. We also need to save it for specific websites every once in a while, that's the rest of the functions.

I kind of backed into having it work this way, so it's not the most logically constructed.

This script has exhibited three different errors from time to time.
• Brings up preferences for user to interact with instead of just saving the ruler units
• runs through the standard saves without prompting the save location.
• Gets to the .com saves (if any were selected) and just stops, leaving the file open. It acts like the script has completed

None of these are consistent, and it really does seem to matter how long the machine/Photoshop has been running for.

Thanks in advance for any thoughts on what could be causing the problem.
pfaffenbichler

Photoshop reacting to scripts differently over time

Post by pfaffenbichler »

I have not gone through the Script diligently, but I wonder if the removal of hidden Layers at the beginning could not more easily be achieved with »Delete Hidden Layers«.
pedromarques

Photoshop reacting to scripts differently over time

Post by pedromarques »

Hi,

I deal also with lots of scripts for several teams and I wonder if you are using PCs or Macs.

I are using windows7 and photoshop CC2014.
In fact, I found really easy to upgrade all my 6000 lines of scripts from CS6 to CC2014 and I found that all scripts run on average 20% faster on CC2014.

Although, there are some tips that my team regularly must do on their PCs.

1. keep windows updated: some time scripts are running slow note because of any inner problem but because of windows. On past, some windows upgrades were causing problems on photoshop normal performance. Generally, in a few days a new windows update solved it.

2. Because we use Bridge with scripts and to get always new files (never the same files, always new files) we have an event on Bridge to delete all cache when it closes. Doing so we have always space on PCs disk and a faster performance on bridge to get the new thumbnails.

3. Another tool we use that help a lot performance on adobe apps, is to run on Accessories > System Tools > Disk Cleanup app
We run it and make sure to delete all temporary data, thumbs, etc, restarting adobe apps after.

4. Lately I found very important to update all PCs from Adobe Photoshop CC 2014.0.0/ 2014.2.1 >>> to 2014.2.2 because they were running slower for some reason.
essejesse

Photoshop reacting to scripts differently over time

Post by essejesse »

Pfaffenbichler, I'll look into changing that. Thanks for the heads up.

Pedro, we use Macs here. Photoshop is kept relatively up to date. I don't think anyone goes more than a week without installing the newest version of CC 2014, when they release updates. What do you mean you upgraded your script to CC 2014? I've never updated any of my scripts for the new versions, but I've only been doing this a short time.
pedromarques

Photoshop reacting to scripts differently over time

Post by pedromarques »

essejesse wrote:What do you mean you upgraded your script to CC 2014? I've never updated any of my scripts for the new versions

Only the central script system on our network was in need to be updated.
When starting photoshop in the morning (all our PCs have a listener to run a central script from our network the moment photoshop starts or restarts), that script will pick all studios most recent color profiles (dcp, xmp) and save them on the user cameraraw preferences. It does the same with all our common scripts, files, assets, workspaces, etc, saving each one on its proper user place or public place.
For example, our common shortcuts/worspace preset file to be applied on the photoshop user, must be saved in this place:
C:/Users/[USERNAME]/AppData/Roaming/Adobe/Adobe Photoshop CC 2014/Presets/Keyboard Shortcuts/
and over CS6 was different.

The rest of the scripts are running well on both versions.
essejesse

Photoshop reacting to scripts differently over time

Post by essejesse »

Oh, I see. We don't have anything that intense going. And I'm glad it all makes sense now to me (in theory).

Thanks for the reply.