Posts in Category "illustrator extensions"

Adobe Extension Builder and Creative Cloud 2014

Since Creative Cloud 2014 launched on June 18, extension developers have been eager to migrate their extensions and panels to the new generation of Adobe apps. At this point in time, Extension Builder 2.1 does not support Creative Cloud 2014 when building Flash based extensions, and Extension Builder 3 preview 3 does not support Creative Cloud 2014 when building HTML5 extensions.
New developer tools will be released in the future. Meanwhile, it is easy to modify the current tools so that you can continue to use them to create extensions and panels for the new CC 2014 apps.

Let’s start with Extension Builder 3. The following tweaks will make it support the latest and greatest Creative Cloud apps.

Continue reading…

Get the updated Exchange Panel for CC apps

Adobe Exchange Panel CC Update

Adobe Exchange is the new way to discover add-ons for your favorite Adobe apps. Today in conjunction with the release of the new Adobe CC apps, we provided an update to the integrated Adobe Exchange Panel. After installing any of the 7 compatible CC apps you will see an update like the one pictured above from within the Creative Cloud application. After applying the update you can access the Exchange Panel from Window > Extensions > Adobe Exchange. This update brings the CC apps in line with the version of the Panel we just provided to CS6 users and adds Hi DPI support for Retina MacBook Pros and a number of important compatibility capabilities.

You can see the simple instructions for applying the update here. Once installed you will find an ever growing number of products to enhance your favorite apps. Want to create your own products for Adobe Exchange? It’s easy! Otherwise, just launch the Exchange Panel and remember to check it frequently for product updates and lots of great new products that are being added all the time.

Jonathan Ferman | Product Manager

 

Watch the Adobe Exchange – Discover, Create and Share session from MAX 2013

Adobe Exchange Session at MAX

At the Creativity Conference – MAX 2013 we announced that the Adobe Exchange Panel would be integrated into 7 Creative Cloud apps. We recorded a session that explains what Adobe Exchange is, how you can create products for Adobe Exchange, some great tools for designers and developers, the future of extensibility, tips and tricks and finally a sneak peek at the planned CC website integration.

Check out the session recording on Adobe TV:

You can also view and download a PDF of the presentation.

Want to create products for Adobe Exchange? It’s easy, this one page PDF shows you how to get started.

Jonathan Ferman | Product Manager

Creative Cloud Exclusive and Free! Flypaper Select – High Resolution Textures Pack

Flypaper SelectHot on the heels of the Adobe Paper Texture Panel Pro release I am delighted to announce FlyPaper Select. Flypaper Select is an exclusive collection of 24 high quality and unique textures which were especially chosen for their all round versatility from Flypaper’s eight texture packs. All of Flypaper’s Texture packs will soon be available on Adobe Exchange, several already are, just search for ‘flypaper’ from the Adobe Exchange Panel.

The Adobe Paper Texture Panel Pro and Flypaper Select are complementary products. The Adobe Paper Textures panel and the Pro version of the panel use low resolution Flypaper Textures to generate their effects. The Flypaper Select pack has high resolution (300 dpi) JPEG files that can be used with lots of Adobe apps and have all sorts of uses including photography, artwork, graphics projects, website design, digital, video and not forgetting old school film projects, book design, scrapbooking, illustration and collage. Flypaper texture uses are endless!

How do you get it?

If you are a Creative Cloud paid member then just search for ‘flypaper’ in the Adobe Exchange panel from within the CS6 versions of Photoshop, Illustrator, InDesign, InCopy, Fireworks, Flash Pro, Premiere Pro or Dreamweaver.

You’ll find the panel in Window > Extensions > Adobe Exchange.

Don’t have the Adobe Exchange Panel? You can download it free. If you’re not already a Creative Cloud paid member you can learn more.

Hurry!

I’d like to thank the team at Flypaper Textures for providing this pack exclusively to Creative Cloud subscribers but get it quickly as it may not stay exclusive or free forever!

Creative Cloud paid member free and exclusive products are our little way of saying thanks to our Creative Cloud subscribers. Please help show your appreciation of these free donations by simply rating after your download. If you are not a Creative Cloud subscriber yet but have CS6, virtually all the products available do not require paid membership, check out the panel to see what’s available.

 

Become a producer yourself!

Becoming a producer for Adobe Exchange is free and easy. Just sign in/sign up here with your Adobe ID. We have lots of different tools and resources to help you create and package products. If you have simple creative files then you just need to use Adobe Exchange Packager, there’s even an embedded video to show you how to use it. Packager will sign and package your products and then you can submit them to the Adobe Exchange Producer Portal. Adobe will review and test your product and then it will be released. As a producer you can even privately share products with other people, ideal for Education, Enterprise, collaborative working and much more. Adobe Exchange is designed to enrich your experience with Adobe apps, whether that’s with a plug-in, an extension, an InDesign template, a Photoshop file or anything else that is related to our Adobe creative products. I can’t wait to see what our rapidly growing number of producers come up with.

Keep up to date with all the latest developments on Adobe Exchange on Facebook or follow us on Twitter.

Jonathan Ferman | Product Manager

Adobe Exchange now available on Adobe Labs

I am tremendously excited to announce that today we provided the first public preview of the new Adobe Exchange on Adobe Labs.

What is it?

The new Adobe Exchange is a Creative Suite extension marketplace. It is available as a panel within a variety of CS6 applications. The Adobe Exchange panel provides a new way to search, discover, and install plug-ins, extensions, and other content for Creative Suite products.

Isn’t there already an Adobe Exchange?

Yes, there are various product exchanges here. This new Adobe Exchange is quite different and offers a number of advantages over the existing Adobe Exchange, (detailed here). The Adobe Exchange brand name is great, but the website did not reflect the modern cloud connected world. In my experience, Creative Suite users like to work within the Creative Suite products, not jumping in and out of the browser, so the new Exchange is presented as an in-product panel.

You are the producer!

Starting today, anyone with an Adobe ID will be able to submit up to 10 free products to the new Adobe Exchange, free of charge. You can also share products privately. Due to the way Exchange products are packaged it’s a great way for individuals or organisations to share Creative Suite content and it will appear in the user’s My Stuff section of the panel and can automatically provide any new updates. The potential here is enormous. For example, sharing out an InDesign template, swatches and many other Creative Suite generated content, which you can package in minutes with Adobe Exchange Packager. This goes beyond file sharing, as it can install the content in the correct locations for use with Creative Suite 6 supported products.

Anyone looking to offer paid products via the new Adobe Exchange should sign up for the prerelease program at tinyurl.com/exchangeprerelease. There are no subscription charges for offering paid products while we are in prerelease.

This is just the beginning…

We have a lot of developments planned for the new Adobe Exchange, including Creative Cloud integration and much, much more. In the mean time, download the Adobe Exchange panel and it will automatically update as we add new capabilities.

Spread the word

I would really appreciate it if you could help spread the word about the new Adobe Exchange now that it is publicly available. Posting to blogs, social media, etc., anything you can do to help will make a difference and let people try it out for themselves. We want to build up a critical mass of Adobe Exchange users and producers creating great products.

The launch on Adobe Labs is an important first step for Adobe Exchange. Thanks for taking the journey with us.

Jonathan Ferman | Product Manager

Working with Layers

Layers, in graphic arts programs, give you a way of organizing objects in your documents and controlling their front-to-back stacking order. Illustrator, InDesign, and Photoshop all have layers, and share most basic layer features: you can create, move, hide, and show layers, and you can assign objects to layers. Illustrator and Photoshop have the ability to create layers within layers—“layer sets” or “layer groups.”

As is usual, the scripting model differs among the applications, so I’ll provide a set of wrapper functions that will take the same parameters, regardless of the host application. I’ll put all of the application-specific details inside these functions. I’ll make the functions work for Photoshop layer groups and Illustrator sub-layers, as well as for InDesign’s simpler layers. I don’t want to rebuild each application’s Layers panels, so I’ll provide simple buttons for putting the layer functions through their paces. (It seems to me unlikely that you’ll want to re-create the Layers panel, and more likely that you’ll want to add/assign/move layers without displaying a user interface at all. If I’m dead wrong, please let me know!)

This example is even more basic than the previous one—but I found a number of points that might trip up developers trying to work with layers in their extensions.

You can find the example project here:

layers
Continue reading…

More Basics: Importing and Exporting Files

One of my co-workers (let’s call him “Zak”) recently referred to this series of blog postings as “an expanded Hello World.” Zak wasn’t being critical; he thinks this is a good thing, and I agree. The point is to get developers past the “what do I do now?” hump—the one that follows immediately after you’ve set up your development environment and worked through your first (usually trivial) tutorial example extension.

What I’m trying to do is make sure that new developers don’t get stuck because of some application-specific peculiarity of one of the Creative Suite applications. I know that this can happen, because it’s happened to me. Often.

In this post, we’ll turn back to the “Big Three” applications of the Creative Suite: Illustrator, InDesign, and Photoshop. All three applications can import, or “place” documents, and can export or save files in a wide variety of file formats. Each program has an idiosyncratic way of doing this basic task, so I’ll create a generic wrapper function and encapsulate (hide) all of the application-specific details.

This post follows in the footsteps of earlier posts, notably ”Drawing Paths,” ”Entering and Formatting Text,” and ”Watching the Detections,” and continues to build our basic Creative Suite SDK construction kit.

You can find the project for this example here:
importexport
Continue reading…

Putting It All Together: Path Effects

In these blog posts, I’m trying to create a series of “building blocks” that CS SDK users can put together to make CS Extensions. Need to draw things with your CS Extension? You can pull drawing routines from the “Drawing Paths: The Basics” post. Want to have your CS Extension respond to document open/close events? Grab the DocumentWatcher class from the “Watching the Detections” post.

At the same time, I’m thinking that some CS SDK users are coming to the Creative Suite without deep knowledge of at least some of the applications. A developer who has spent years working with Flash might not know (or want to know) the finer details of drawing paths in Illustrator, or setting type in InDesign.

My goal is to make it possible for these developers to get things done in Illustrator, InDesign, and Photoshop relatively quickly, without having to learn the document object model of each application (each one different). To that end, I’ve provided functions that encapsulate some of the complexity inside applications-specific functions.

Sadly, for this post, we’ll have to leave Photoshop behind, as that application doesn’t really provide a way to tell if a path is selected. (Or, I should say, it doesn’t provide an obvious way—I’m still looking.)

To see how this might work for you, let’s put together a new CS Extension using parts and pieces from my earlier blog posts. We’ll create an extension that applies various effects to the paths of page items selected in the host application, and we’ll get most of the code from the Drawing and DocumentWatcher projects.

This project also gives me a chance to make a point about Creative Suite Extensions in general: I think that we developers often think only in terms of productivity tools—writing XMP metadata or setting up defaults for a workgroup, that sort of thing. We tend to forget that automation can be used to add creative tools and new artistic effects.

The project for this example is here:

PathEffects
Continue reading…

Watching the Detections

Most of the time, Creative Suite extension panels will need to know something about the state of their host application. If the extension, for example, displays a pop-up menu containing a list of the layers in the current document, the extension will need to know when the document closes, or when a new document opens. When the extension detects that the current document has changed, it can do whatever it needs to do to repopulate the menu.

While you could monitor the state of the application using polling—a function in a timing loop that checks the state of the application every so often—it’s much better to use event listeners. Event listeners are triggered whenever a particular event takes place, and run a function that responds to that event in some way. The only trick is that the application you’re interested in working with has to provide some sort of notification that something has happened that’s relevant to your extension. As you’ll see, that’s not always as straightforward as it sounds.

Because CS extensions are built on top of CSXS (Adobe’s Creative Suite Extensible Services framework), they can make use of CSXS “standardized” events.

Event Name Event Triggers:
documentAfterActivate When you activate the document.
documentAfterDeactivate When you deactivate the document
 (i.e., when you bring another document to the front).
applicationBeforeQuit When you quit the application.
applicationActivate When you activate the application.
documentAfterSave Immediately after you save the document.
 

 

Not all Creative Suite applications support the full range of CSXS “standardized” events, but the applications I want to work with—Illustrator, InDesign, and Photoshop—all support the events I’m most interested in. These applications also support other events—later in this post, I’ll show you how to create event listeners for those application-specific events.

We’ll also use two other CSXS events: StateChangeEvent.WINDOW_OPEN and StateChangeEvent.WINDOW_SHOW. These events are not part of the ”standardized” CSXS events—they apply to the state of the panel window itself. For more on general CSXS events, refer to the “com.adobe.csxs.events” section of the CSXS Library API Reference.

To test our event listeners, we’ll get and display the layers in the current document, and we’ll update the list of layers every time a document changes. I’m thinking that this is something that many CS extension developers will want to do.

You can find the project at:

DocumentWatcher
Continue reading…

Entering and Formatting Text

In my previous posts, I’ve shown how to draw objects in Illustrator, InDesign, and Photoshop. The idea was to create generic functions that “wrap” the application-specific code. Each function takes a set of coordinate locations, and uses those coordinates to draw a path. You don’t need to know the details of the application objects properties, and methods needed to draw the path—just send an array to the function, and the function will take care of drawing the path. The resulting paths will be as close to identical as we can make them, given the differences between the applications.

In this blog post, I’ll try to do the same thing for text. I’ll introduce a set of functions for entering text and doing some minor typesetting tasks in Illustrator, InDesign, and Photoshop. Send the function a string of text, a location (as a coordinate pair), a point size, and a font name, and the application-specific code in each “flavor” of the function will take care of creating and formatting the text. Again, I’ll try to have all three applications produce the same result.

While we’re at it, I’ll show how to get a list of fonts from the application and display the font names in a a ComboBox control in the example plug-in. Think of it as a bonus.

The example extension will create a sample document and position the text at the center of the document, but you can use the example makeText functions to draw text wherever you want.

You can find the example project for this post here:

text

Update: This project is now available via Import>Adobe Creative Suite Extension Builder>Remote Creative Suite SDK examples.

Continue reading…