Removing Dependency in Resource Files

Participant ,
Sep 11, 2018 Sep 11, 2018

Copy link to clipboard

Copied

Hello,

Even in Adobe Photoshop CC 2017 Plug In SDK the examples use Cocoa in macOS. 

Namely they use the Rez command to process resource files.

I was wondering if there is a way to create a plug in without this stage.
I don't need my plug in to have About menu or anything as I just interact with it using ExtendScript.

All I need is to have it available on the Filter Menu (Just in order to see it is available to Photoshop).

Has anyone manged to create a working Photoshop Filter without this step?

It would be even nice to move over this step in Windows as well.

Thank You.

TOPICS
SDK

Views

1.2K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Sep 11, 2018 Sep 11, 2018

Copy link to clipboard

Copied

Royi ,

I've been playing with hidden plugin in the sdk.  It needs the about part for Help/System info when you click on it it shows about stuff and is not showing in the Filter menu.

I have problems getting my jsx to find my plugin.  I really have no idea what to include of the automation routines or not.

Hidden is much cleaner code wise and much less to figure out than poortype   Has same amount of documentation. 

If we could figure how to make hidden work it would be a super plugin template .

RONC

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 11, 2018 Sep 11, 2018

Copy link to clipboard

Copied

Ron,

I'm not sure what you mean by Hidden.

I want them to appear in the Filter Menu (That the only to run them and then using Log to understand the call for them).

What I don't want is to do the Rez things in macOS.

I hope someone has template like that or knows how to alter the current one to remove the need for the process of Resource files.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 14, 2018 Sep 14, 2018

Copy link to clipboard

Copied

Tom Ruark​,

Any chance of a drop of your knowledge here?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Sep 25, 2018 Sep 25, 2018

Copy link to clipboard

Copied

Photoshop needs a PiPL resource so it knows static information about your plugin (we cache it for faster warm launches, see comment below). The only way to do this, that I know if, is with a Rez compiler. You could manually create the rez output yourself. (lots of work)

If you don't want an About menu then put NoAboutBox {}, in your PiPL.

If you don't want a menu item then add Category { "**Hidden**" },, in your PiPL.

On windows I do the following after a .r edit. Right click on your .r file in Visual Studio and click compile. You should see Cnvtpipl run. Right click on your .rc file and click compile. Compile your plugin. These steps are not necessary on mac as the .r is a known file type for Xcode.

Remember my cache comment. Make sure you restart Photoshop and remove the preferences file for plugins. I hold down the Shift-Alt-Ctrl keys when launching (the claw) which will give you a "Delete the Adobe Photoshop Settings File?" which I say yes to. This will cause Ps to rescan all plugins and look for new PiPL's.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 25, 2018 Sep 25, 2018

Copy link to clipboard

Copied

Tom Ruark​,

If I'm correct Rez is part of Carbon.
What will happen when Carbon is totally dropped?
I think 32 Bit Carbon is now Dropped on the latest macOS (macOS Mojave).

Anyhow,
My whole idea was to move to CMake based build.
Hence dropping the Rez / Cnvtpipl would make things much simpler (As they require manual command or something).

Do you have a CMake based build of Plug In internally?
Any chance you share such thing in the next SDK?

Thank You.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Sep 25, 2018 Sep 25, 2018

Copy link to clipboard

Copied

Carbon is so misused as a term now. Many "Carbon" things still work today. I think we should use "still works in OSX 10.13.3" instead. Or "stopped working in OSX x.x.x" would probably be more interesting.

Rez is 64 bit, which surprised me. Rumor has it Rez will be removed and/or stop working in OS X x.x.x. We want to drop Rez as it is deprecated. We will need to go to some other form for resources as the Resource Manager is also deprecated. Many discussion happening but nothing yet for public consumption.

Here are some options for you:

1) Use cnvtpipl in CMake as a custom step. I would hope that CMake supports that. We use cl to get a .rr then use cnvtpipl to make a .pipl (which is a MS resource)

2) Write your own. You can see the raw bytes via a hex dumper or open with Visual Studio (open with resource editor)

3) Keep Visual studio around to generate the .pipl file and just add it into your exe during the link phase. We did this on one project way way way back when CodeWarrior was available on windows! We had one engineer that refused to use any tool but CodeWarrior!!

None of those are going to be easy. Especially if you are doing lots of .r edits.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 25, 2018 Sep 25, 2018

Copy link to clipboard

Copied

I actually made it work in CMake on Windows.

macOS is the challenge at the plug in is a bundle and the Rez command isn't clear.

Since the only thing I need to control is the naming under Filter Menu (Category / Vendor, Filter Name) and ID (For interacting with ExtendScript) I wonder if there a simpler solution.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 18, 2021 May 18, 2021

Copy link to clipboard

Copied

LATEST

@Royi_A Can you share your CMake file(s)?

 

I'm sure I can add macOS support…

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 09, 2019 Oct 09, 2019

Copy link to clipboard

Copied

@Tom_Ruark, What about macOS Catalina?

 

I read it dropped Carbon API completely.

Will you update the SDK as well to drop those ingredients?

 

I really hope since current SKD and Photoshop doesn't support creating UI's using the SDK components the  I wish the DSK will be only compilation of header files.

 

Thank You.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines