• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

PiPL Documentation - a few questions

Community Beginner ,
May 29, 2009 May 29, 2009

Copy link to clipboard

Copied

Hi,

I am slowly figuring out what needs to go into the PiPL file, but I have a few questions.

I started using Dissolve.r as the sample to emulate. The first question is on this line:

resource 'PiPL' ( 16000, "Color Remover", purgeable )

The best explanation I find for this line is in the syntax section of the Plug-in Resource Guide:

<resource header> :=
"resource" "'PiPL'" "("
<resourceID> <optional resource name> <optional attribute list>
")"

What is <resourceID>?  It appears to be 16000 by default. I found I can use 'resourceID' instead of '16000', but I don't know if this is something I should change or not.

What is the <optional attribute list>? It's a list of <attribute>s, but I can't find any further explanation of <attribute> (at least, not by searching the Plug-in Resource Guide).

Moving down the file, I get to

Version { (latestFilterVersion << 16 ) | latestFilterSubVersion },


The sample files never set latestFilterVersion or latestFilterSubVersion. Is this the version of the Adobe filter plugin API that I require or is this a version number for my filter?

I just found a reference to a MacTech article on aete's, so I hope that will answer any other questions.

Thanks for your help.

P.S. To Adobe: It would be helpful if you added documentation to the SDK that walked someone through a sample plugin's PiPL file and talked about the elements that need to be changed to create a new plugin and how to change them. If this is already in the SDK, I haven't run into it yet.

TOPICS
SDK

Views

2.9K

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

correct answers 1 Correct answer

Participant , May 29, 2009 May 29, 2009

Some points.

1) .r files are Rez resource descriptions (Apple resource compiler). This is fully documented by Apple if you know where to look.

2) If you are using an Adobe sample code .r template then it should "just work"

3) The ID 16000 is an artefact of a 25-year-old Macintosh convention for numbering 'owned' resources. It comes from a formula for computing the starting ID when numbering resources of a particular type used by a plugin. The details of the formula are not relevant in this context

...

Votes

Translate

Translate
Adobe
Participant ,
May 29, 2009 May 29, 2009

Copy link to clipboard

Copied

Some points.

1) .r files are Rez resource descriptions (Apple resource compiler). This is fully documented by Apple if you know where to look.

2) If you are using an Adobe sample code .r template then it should "just work"

3) The ID 16000 is an artefact of a 25-year-old Macintosh convention for numbering 'owned' resources. It comes from a formula for computing the starting ID when numbering resources of a particular type used by a plugin. The details of the formula are not relevant in this context but the convention is still followed. Usually you have only one PiPL in a plugin (normally ID 16000), so better examples are something like 'STR ' or 'DITL' where you might have several, 16000, 16001, 16002 and so on. Your plugin will reference resources by these IDs as required (for example, when invoking an Alert() or ModalDialog(); read the Resource Manager documentation for the entire resource manipulation API). Also, resources often have internal cross-references to other resources (for example, a DLOG dialog box references its DITL dialog item list, which in turn may reference a CNTL control description).

4) There are literally dozens of correct and complete .r Rez descriptions, and Win32 .rc descriptions, for Photoshop plugins on my site. http://telegraphics.com.au/sw/ - see the Subversion source code repositories.

5) Contact me, support@telegraphics.com.au if you need more help.

Votes

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
Community Beginner ,
May 30, 2009 May 30, 2009

Copy link to clipboard

Copied

Thanks!  I will certainly look at your examples!

As for "working as is": yes, I understand that but I want to create a filter I can sell, and there are definitely things that need to be changed in the .r file and elsewhere. Without knowing what something is, it's difficult to know whether I need to change it or not. For example, I found out that plugInUniqueID needs to be changed and I learned how to do that. How about plugInSuiteID? How about latestFilterVersion?

I'll check out your files and email you directly if I still have questions.

Votes

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 ,
May 30, 2009 May 30, 2009

Copy link to clipboard

Copied

LATEST

Glad I can help in some way.

I can also review the sample code's PiPL and annotate it so that you understand which parts need changing.

Which varieties of plugin are you planning to support? The following all require different builds and generally different toolchains:

  • Mac 68K (obviously you won't bother)
  • Mac PPC: PS 3 through PS 7 and PS CS on MacOS "Classic"
  • Mac PPC Carbon: PS 7, CS on OS X
  • Mac PPC Mach-O: PS CS2 on OS X only
  • Mac PPC+Intel (fat) Mach-O: PS CS3 & CS4 on OS X only
  • Win32 (all versions incl CS4 in 32 bit mode)
  • Win64 (CS4 only)

Most of my GPL plugins support at least 5, and some support all 7, of these runtimes.

The email reply produced only an empty message, so I Edited and pasted the actual text. :-X Yay for progress...

Votes

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