Copy link to clipboard
Copied
I'm getting error YTGT when I try to tag text art objects during either a selectionChanged callback or documentChanged callback using the AI 2021 SDK.
art is an AIArtHanele and c is a char*
AIErr err = sAITag->SetTag( art, "objTag", "", &c );
Any ideas what the error means and how to avoid it?
UPDATE: the third argument needs to be the literal "string" which gets around the error, although the function works as expected either way. What's more concerning is that even with no error here, calling this a few times later leads to Illustrator crashing in another thread when path art, which was not tagged, is simply scaled. It turns out it just doesn't want to be called during a callback. Push context and pop context doesn't help. 😞
When it's manually called, all is OK. It's far less useful, but I guess something is better than nothing.
Copy link to clipboard
Copied
Hi Rick! I don't know if you saw this, but the AITagSuite documentations says: "This suite is generally deprecated in favor of the more powerful facilities provided by the AIDictionarySuite."
Copy link to clipboard
Copied
I did see that, thanks. Dictionaries are awesome, which is reason enough to not use tags. 😉
The real purpose of the tags is to address multiple user requests to get around some scripting limitations. Unless these users and I are missing something, scripts can read tags, but not dictionaries, and cannot access XML IDs. My intent was to copy the XML IDs into tags, so scripts could find specific text objects easier. If a script can access an Action or a menu item, that might enable a script to manually update the tags itself when it needs them.
If scriptable plugins hasn't been a post topic yet, maybe it's worth starting one...
Copy link to clipboard
Copied
Hi again Rick! I did not know this. I have not worked on the problem of making plugins scriptable yet, but it is an interresting topic indeed! :^)