What are valid data types for the <terminology> block?

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

miked

What are valid data types for the <terminology> block?

Post by miked »

In my ongoing quest to beat the action <--> script communication method into submission, I have come to the point where I am able to save out data for reading in at a later time: I can see the variable listed in the action step that calls the script.

The part I am stymied on now are the valid data types that I can actually write out.

For example, as taken from Fit Image <terminology> block, we see

Code: Select all<terminology><![CDATA[<< /Version 1
                         /Events <<
                          /3caa3434-cb67-11d1-bc43-0060b0a13dc4 [($$$/AdobePlugin/FitImage/Name=Fit Image) /imageReference <<
                          /width [($$$/AdobePlugin/FitImage/Width=width) /pixelsUnit]
                          /height [($$$/AdobePlugin/FitImage/Height=height) /pixelsUnit]
                          /limit [($$$/AdobePlugin/FitImage/limit=Don't Enlarge) /boolean]
                          >>]
                         >>
                      >> ]]></terminology>


Setting aside for the moment that I have no idea what /imageReference is referring to, I can deduce from the code found later in the file that
/pixelsUnit = UnitValue with a unit of pixels
/boolean = boolean

Neither of these appear in the list found on pages 197-198 in Photoshop CS5 Javascript Ref.pdf. "pixelsUnit" does not appear at all, and "typeBoolean" appears, but not just "boolean" as used in this code.

Another example, as taken from Conditional Mode Change.jsx, we see

Code: Select all<terminology><![CDATA[<< /Version 1
                       /Events <<
                       /8cba8cd6-cb66-11d1-bc43-0060b0a13dc4 [($$$/AdobePlugin/ConditionalModeChange/Name=Conditional Mode Change)  /imageResource <<
                        /sourceMode [($$$/AdobePlugin/ConditionalModeChange/SourceMode=source mode) /sourceModeType]
                        /destinationMode [($$$/AdobePlugin/ConditionalModeChange/TargetMode=target mode) /typeClass]
                         /merge [($$$/AdobePlugin/ConditionalModeChange/Merge=merge) /boolean]
                        >>]
                       >>
                       /Enums <<
                        /sourceModeType <<
                         /uIBitmap ($$$/AdobePlugin/ConditionalModeChange/Bitmap=Bitmap)
                         /uIGrayscale ($$$/AdobePlugin/ConditionalModeChange/Grayscale=Grayscale)
                         /uIDuotone ($$$/AdobePlugin/ConditionalModeChange/Duotone=Duotone)
                         /uIIndexed ($$$/AdobePlugin/ConditionalModeChange/Indexed=Indexed)
                         /uIRGB ($$$/AdobePlugin/ConditionalModeChange/RGB=RGB)
                         /uICMYK ($$$/AdobePlugin/ConditionalModeChange/CMYK=CMYK)
                         /uILab ($$$/AdobePlugin/ConditionalModeChange/Lab=Lab)
                         /uIMultichannel ($$$/AdobePlugin/ConditionalModeChange/Multichannel=Multichannel)
                        >>
                  >>
                      >> ]]></terminology>


In this case, I PS is able to decipher /sourceModeType because the data type definition is included in the Enum section of the <terminology> block. Yet somehow, none of the entries found there have a data type...just an ID string. "typeClass" is syntactically similar to the values found the aforementioned table but does not actually appear there.

Is there a full list of the data types available to adding to the actionDescriptior somewhere? I'm hoping I just missed it, but tbh I've been through Photoshop CS5 Javascript Ref.pdf and it only lists "Basic Value Types" and "A useful subset" of the predefined class types.

...Mike