Porting live effects - problems with dfferent plugin file names.
I've been working on embedding an Illustrator Live-Effect plugin to a new Illustrator CS5 plugin.
One of the live-effects alters the text of text objects to use standardized abbreviations for place labels in maps.
The situation is:
I have ported the plugin using the exact same LiveEffect name and the same parameter names to the live effect dictionary of the art.
This in the hope that when I open the illustrator file in CS5 the effect will continue to work on converted text art.
But when I open an Illustrator 10 file in Illustrator CS5, the text object comes up with an "<Unknown>" live effect entry in the Appearance panel. And as the text is converted from legacy text to new ATE-text, the result of the live effect is also gone.
Studying the contents of the illustrator files, I find the following in the Illustrator 10 file
/BasicFilter :
(Abbreviate Text Labels...) 1 0 /Filter ,
(VisualMap Effects) /PluginFileName ,
(Abbreviate Text Labels...) /Title ,
/Dictionary : /NotRecorded ,
4 /Int (vmAbbrType) ,
0 /Bool (vmAbbrIntls) ,
0 /Bool (vmPreSufx) ,
0 /Bool (vmSufxInFront) ,
/String (vmAbbStr) ,
; /Dict ;
While studying an Illustrator CS5 file, I find:
/BasicFilter :
(Abbreviate Text...) 1 0 /Filter ,
1 /Visible ,
(VmCartographer3.aip) /PluginFileName ,
(Abbreviate Text...) /Title ,
/Dictionary : /NotRecorded ,
0 /Bool (vmPreSufx) ,
0 /Bool (vmAbbrIntls) ,
4 /Int (vmAbbrType) ,
0 /Bool (vmSufxInFront) ,
/String (vmAbbStr) ,
; /Dict ;
So obviously, it isn't working because the name of the plugin file is different (or is it another reason?)
It's a bit tricky because I have now combined several filters and live effects from several earlier plugins into a single new plugin.
Is there a way to overcome this problem?
It is easy to receive a notification upon opening a document and check if it's an earlier version of Illustrator.
But how do I go about tracing the art tree to "upgrade" these live effects to the current plugin?
Or is it a better way?
Agnar