On a PC
I upgraded from CS5 to CS6 (cloud) over the long weekend and I'm now faced with a massive headache. The process actions I use intensively for my work are all foxed by the simple problem that the action playback is going too fast for scripting over two documents to keep up. I have tried everything I can think of but the only thing that allows the action to progress sensibly (as in previous versions of the software) is the step-by-step playback mode. This is too slow to use on an ongoing basis.
The problem is caused by the following sequence
Save as document (on desktop)
Open as document - open as Camera Raw - after settings open in Photoshop
Close - saving no
(PS automatically selects previous document)
++++ paste ++++ ERROR Paste command is not currently available
This is where Photoshop should select the previous/underlying document before applying the Paste command. Since the upgrade its been trying to paste the clipboard in the split second after closing and selecting the previous document, and reporting no document available at all. Slowing or pausing the playback with step by step or stop&continue works around the problem but causes workflow to slow down drastically.
Is there a way to script a pause during this one crucial moment? Or is there a preference setting I have overlooked that is casing the behaviour?
I would recommend that you dupe the layer to the other document instead of the selectAll/Copy/Paste dance. That should make your script faster in a good way.
If you don't want to dupe for some reason then I would try explicitly setting the activeDocument.
app.refresh() may also force Photoshop to recognize the document switch.
As a last resort you could try $.sleep(), setting the delay to whatever value needed to avoid the error.
Save as - open as camera raw - select all- copy - close - paste. The dance is the ony way I can apply Camera Raw settings such as clarity, noise reduction etc to my retouch after the initial raw conversion. Its a well used technique that I've known about for years. Loads of people use this method in CS6, but for some reason I can'y get it to work after the upgrade.
This thread has addressed my problem http://forums.adobe.com/message/4423788#4423788
It is a bug. The work around is to record a change in playback speed before and after the paste.
Adobe would you kindly fix this issue please?
While you're at it would you also have a look at the "less than 50% of pixels are selected" it would be really great if we could overide this warning when batch processing images and using actions.
That bug was fixed with the first CS6 update. The problem was it took Photoshop some time to switch back to the previous document when you did a close nosave when editing in floating windows not tabs. Actions were not interlocked and it took Photoshop some time to close the window and switch to the previous document during that time actions and scripts next steps that required an active document would fail for there was no active document. Make sure the cloud installed the updates to the Photoshop it installed on your local machine. If you note your thread started with the description close nosave, paste...
Sadly now CS6 neither can't be updated, nor only one available update can fix it.
There's also other bug. When you record cropping and then want to use it in your action with a dialog you will lose cropping frame that was specifed earlier in action unless the active tool was Crop Tool.
Selection of Cropt Tool can't be recorded normally in CS6, so the only way was to record action step with a script that chooses it. It's alike bug to activating document (that is active!)
That's bug indeed, but you have chosen the worst workaround that is equivalent to refresh(). Michael_L_Hale has proposed something better I elaborated in other post.
Regarding 'Warning: No pixels are more than 50% selected.' it doesn't pop up used by action.
activeDocument = documents
When you have for example 2 documents and you perform action: select all, copy, close and paste, just insert the above script as action step between closing and pasting (to avoid error).
I wanted to advice the same 3 methods as I encountered the same problem in the past. $.sleep() didn't worked here, refresh() was too slow, so originally I used duplicating to other document, but later created action item that simply sets by script a document that has to be foremost (after closing other one) as active one.