Illustrator (Desktop) SDK/Scripting Issues
27 results found
-
Access to underlying Illustrator object handles via scripting
The biggested pain point when implementing scripting support for plugins is that if you want to add objects that interact with built-in Illustrator script objects (LiveObjects) like Layers, Documents or PageItems. While it's possible to correctly parse whether you're being passed the correct scripting object (e.g. a Layer and not something else) you can't actually determine the handle for the specified object; that lives inside the ScriptingSupport.aip and has no public API.
Perhaps a small suite could be added that provides methods like this:
AIAPI AIErr (GetDocumenttHandle) (long hObject, AIDocumentHandle& outHandle);
AIAPI AIErr (GetLayerHandle) (long hObject, AILayerHandle& outHandle);…15 votes -
Unicode support for annotation text
AIAnnotationDrawerSuite::DrawText() takes an ai::UnicodeString, but when you pass it non-Latin1 characters, you just get the box character. I suspect that if I passed Japanese to the Japanese version of Illustrator, the characters would display correctly, but it'd useful if you could do it regardless of Illustrator version.
We are just starting to add translations of our plugin and currently AI tool tooltips & annotation text have to be kept as Latin1 or we run into trouble.
13 votes -
C#/ .NET api
I'd really value the ability to extend illustrator with c#.
I know adobe is cross platform, but surely theres enough of a windows user base to make this beneficial.
10 votes -
More notifiers for live effects
Ai provides a live effect notifier that triggers when an object is scaled, but not when it’s moved. Same problem with rotating — the absence of these does not allow to recalculate effects properly, like one when an object with a shadow is rotated, and a user wants to rotate the shadow with the object (there is a quite popular request about this one already — https://illustrator.uservoice.com/forums/333657-illustrator-desktop-feature-requests/suggestions/32468149-effects-do-not-rotate-drop-shadow-or-scale-e-g)
9 votes -
kAINamedStyleListChangedNotifier is not emitted when a Graphic Style is updated
If you hold ALT and drag some art into a Graphic Style, it updates, but the notifier is not sent. This has been happening since at least the original CC. It used to work before that.
9 votes -
kATEDocumentResourceChangedNotifier not sent when character/paragraph styles are changed
According to the documentation for kATEDocumentResourceChangedNotifier, it is supposed to be "Sent when ATE document resources, such as named style, have changed."
I have never found this to be true, in any version since the ATE was added. This has always been a serious pain point, because we build small previews of text styles and we have to rebuild them every time we open a UI that shows them, because we have no way of knowing if they have changed (or if they even still exist, or any have been added!).
Since it's never been sent before, there can't be…
8 votes -
Email newsletter for third-party developers
Could Adobe please offer an email newsletter updating third-party plugin developers of changes that may affect or even break their plugins? It's helpful that there is a "known issues" web page, which may or may not identify problems known only to Adobe, but rather than every small developer checking this page every day, perhaps someone at Adobe could send one message to all subscribed developers. Too often, changes quietly happen and developers must scramble to help each other.
One recent example is AI 28.1 corrupting some 28.0 preference files, and a major example would be when Mac AI 25.1 required…
6 votes -
Install new tools in toolbox by default
When a user adds a new third-party plugin, its tools should be added to the toolbox, where users expect to find it, rather than hidden in the drawer, which many users don't even know about. Hiding new tools creates frustration for users and extra support hassle for developers.
6 votes -
Executing Extendscript/Javascript from the C++ API
As far as I know there is no possible way to execute an Extendscript via the C++ API.
In InDesign we can do so by providing the script as a string and fetching simple output results.Our customers can customize our Plugins by providing their own script in our custom scripting language. Unfortunately our language does not cover all use cases and needs to be constantly expanded. With support for Extendscript/Javascript execution from the C++ API we could circumvent the problem and give the users a lot of flexibility and power.
6 votes -
When art is renamed, no notifier is sent
In CC2019, at least two notifiers should result from renaming art: kAIArtPropertiesChangedNotifier & kAIArtObjectsChangedNotifier, but neither is sent.
5 votes -
Unicode support for tool names & toolips
The AIAddToolData struct is still using char* for the title & tooltip members. I know it does some kind of localization, but that's really archaic when the rest of the SDK uses ai::unicode.
4 votes -
Update Samples to not require MFC
The Samples included with the SDK cannot currently be compiled on Windows unless MFC was installed as part of the Visual Studio installation procedure.
Making the Samples requires two small things:
- Add the following include below the SDKDef.h include in VersionInfo.rc
include "verrsrc.h"
- Change the "afxres.h" include in the .rc of all plugins to instead include "winuser.h"
Doing so will make MFC optional, and not required; ultimately, including 'afxres.h' is including the two headers outlined above so it's just introducing an unnecessary middle man who can be safely bypassed.
4 votes -
Bug: Before and After Export Notifiers Do Not Fire When Export As is Used From the Menu
The below menu command notifiers do not fire when the export option is used:
kAIExportCommandPreNotifierStr "AI Command Notifier: Before Export"
kAIExportCommandPostNotifierStr "AI Command Notifier: After Export"Other menu notifiers do fire, such as "AI Command Notifier: Before Save As" and "AI Command Notifier: After Save As"
4 votes -
Updating annotation drawings as bezier control points are dragged
Hello,
I'm working on an Illustrator plugin to help visualise bezier curve continuity. Screenshot: https://i.imgur.com/rxgqDJL.png
I wanted to ask if there's a way to update artwork annotations as the user drags a bezier path control point? Currently my plugin only updates the annotation drawing once you let go.
I assume this is possible because Illustrator seems to be able to do it for showing useful information such as alignment as you edit curves.
Some extra technical details in case it helps... :)
I started this project using the Annotator example project from the sdk as a starter.
In my plugin…
4 votes -
Live Effect process loses spot color info in single spot color Raster
In a Live Effect, a kRasterArt element, which is a raster of a single spot color, loses color information between kSelectorAIEditLiveEffectParameters and kSelectorAIGoLiveEffect.
This especially becomes a problem when removing the Effect from the element.
Reproducible steps:
1. Rasterize an element with a spot fill, no stroke
2. Apply 'Outer Glow' Effect
3. Save, close, and reopen the document
4. Remove 'Outer Glow' EffectI've copied the TwirlFilter sample code from the 2024 SDK, called it TestFilter and simplified the code. It has only been built and run on macOS.
It demonstrates the color loss between these 2 selectors through…3 votes -
check a keyboard key state in SDK
I often need a way to check if a specific keyboard key is currently pressed. For example, while a tool is being dragged, allow users to press the 'W' or 'E' key as they would a modifier like Shift or Alt/Option.
3 votes -
Allow C++ SDK to load swatch library (ase) from filepath
Currently, with ExtendScript, we're able to load a swatch library from a filepath and show its panel. In the C++ SDK, we're only able to open a library with the OpenNthLibrary function from the SwatchLibrariesSuite.
It would be nice, similar to ExtendScript, to be able to load an .ase from a filepath and open the panel.
3 votes -
[SDK Feature Request] Annotator option to draw selection annotation last.
There is no option to draw the selection annotation last. Filled shapes and image annotations always block the selection annotation. See images for what i mean.
2 votes -
Expose 'Export Selection as' functionality
Without this functionality in the SDK, we have to copy the selection to a new document, export, and close the temporary document. Would it be possible to expose the export selection functionality to avoid these steps?
2 votes -
Add 'Convert to Shape' to the menu command notifier list
Please add the menu option: Object->Shape->Convert to Shape to the menu command notifiers list. (I've noticed other menu commands that also need to be added, but I only care about this one).
I'm using Illustrator CC v.23.0.3 on Windows 10 Pro 64-bit.
2 votes
- Don't see your idea?