Jump to content
You must now use your email address to sign in [click for more info] ×

Recommended Posts

1 hour ago, michalmph said:

Guys, this is it. This is probably the most important event in this thread, next to the actual feature announcement.

I'd suggest you guys figure out how to get meaningful feedback that would let you write a feature spec and gather necessary documentation reference.

Both Tim and Jon have been very responsive and I've passed them some additional information offline. I believe they understand the functionality and importance of tagged text in relation to scripting. Whether this results in its adoption is unclear but at least they have a better idea of its value.

Link to comment
Share on other sites

On 9/12/2018 at 1:12 AM, kimtorch said:

Having used Macs since day one I'm not aware of any standard Mac app which supports python but literally thousands that support Applescript.

Well depends on how you define "any standard Mac app" here. So for me those are mostly by Apple build apps and those do come with their bindings to there own Apple macOS API scripting solutions (namely AppleScript/JavaScript).

Adobe apps (ID, PS, AI, LR ...) do use mostly Javascript and LUA for scripting.

Many other apps (especially multi-platform available opensource ones) make use of direct embedded Python interpreters here, as for example Scribus, Sublime Text, Gimp, Inkscape, Darkroom, digiKam, ... and so on.

 

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

  • 3 weeks later...

i'm not sure if this is fully part of scripting.
scripting would allow a lot of automations and addon's as far as i understand it but would it also make it possible to do things outside affinity using affinity like opening some files as an HDR, Panorama, focus stack or one of the other import options for Affinity photo (this probably applies to other programs as well). also scripts that can run outside affinity like running some script for doing something on 50 photo's without the program having to fully open having to select the photo's manually. to me that would make it more usefull with asset managers. 

Link to comment
Share on other sites

3 hours ago, bestman 8 said:

i'm not sure if this is fully part of scripting.
scripting would allow a lot of automations and addon's as far as i understand it but would it also make it possible to do things outside affinity using affinity like opening some files as an HDR, Panorama, focus stack or one of the other import options for Affinity photo (this probably applies to other programs as well). also scripts that can run outside affinity like running some script for doing something on 50 photo's without the program having to fully open having to select the photo's manually.

Well depends on how you interpret "outside affinity", or "run outside affinity". Application specific scripting (in some choosen scripting language) is usually performed against an by an application provided programming API, where in turn (the API itself) is tighly coupled to the application and thus offers access to certain available made internal functions/methods offered by the application. The scripting implementation (in some choosen language/dialect) then uses that application API, together with possible other third-party scripting language based modules/APIs, in order to perform certain operations in the context of the application it is meant for.

Many functionality wise things (automation etc.) do highly depend on what an corresponding app API offers to be accessed and reused here, also how the scripting context itself then is intended to be executed, aka if just from inside of an running app, or more flexible from outside without the need of the app itself to be running etc.

 

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

On 2/15/2024 at 4:34 PM, v_kyr said:

Application specific scripting (in some choosen scripting language) is usually performed against…an application provided programming API

Exactly. In plain language for graphics people who have yet to get their feet wet in scripting:

JavaScript is the language used to script in, for example, Adobe Illustrator. JavaScript is not difficult for non-programmers to learn, and is ubiquitous. But much of what you can accomplish with JavaScript in Illustrator relies on Adobe's so-called ExtendScript (Adobe's 'extension' to JavaScript) and ScriptUI. These effectively provide the scripting user a set of 'pre-built' JavaScript constructs and objects that are specific to Adobe applications. Things like:

  • Modal dialogs that you can include in your scripts to appear within the program to, for example, prompt the user of your script to do something, like input desired values or select specific result options.
  • Non-modal interactive 'control panels' that you can include in your scripts to remain visible within Illustrator while the user works with the script to, for example, try, preview, and change the result while the script is running, before committing it.
  • A thorough (and thoroughly documented) Object Model that is a 'library' of Illustrator-specific constructs and their properties and methods.

Those are the things that make application-specific scripting far more than just a glorified 'macro' for automating repetitive tasks like exporting files or executing a series of standard commands. They effectively inform the scripting language (JavaScript) of the 'under-the-hood' (i.e., under-the-interface) details of the program. They effectively empower you, the user, to create custom functions and features way beyond the standard feature set of the program. Just one example, for clarity:

One of my earliest Illustrator JavaScripts (well over a decade ago; maybe two?) is for drawing geometrically correct vector spheres at any desired orientation in a matter of seconds. When launched, the script presents a series of user prompts asking for the desired number of latitude and longitude lines and the angle at which the pole of the sphere is tilted.

I still use that script to this day (along with a considerable collection of others). Those are the kinds of things I am interested in scripting in Affinity Designer—adding full-blown drawing features to the program for things that it can't do in its standard feature set—as opposed to just 'recording' and 'playing back' a series of existing commands. (Realize, Adobe applications have had that, too—long before they had their JavaScript implementation—in the form of their so-called 'Actions' feature.)

I seriously hope the currently underway development of scripting support for Affinity includes full focus on a comprehensive application-specific object model and clear, thorough reference documentation of it upon its initial release.

JET

Link to comment
Share on other sites

11 hours ago, JET_Affinity said:

(Realize, Adobe applications have had that, too—long before they had their JavaScript implementation—in the form of their so-called 'Actions' feature.)

Okay, that one was pretty cool. You'd record a sequence of actions in software by clicking around. They'd get written to a file in that hexadecimalized obfuscated code. You could copy that and include in the script, it would get evaluated like normal code. It had a bunch of undocumented functions and features that you could only get that way.

Link to comment
Share on other sites

8 hours ago, michalmph said:

They'd get written to a file in that hexadecimalized obfuscated code.

😀 That's Adobe's ATN action binary file format. And yes PS actions etc. are pretty cool and much more powerful than those limited APh macros. - I've once (long time ago) wrote a tool for translating individual PS actions between localisations.

19 hours ago, JET_Affinity said:

I seriously hope the currently underway development of scripting support for Affinity includes full focus on a comprehensive application-specific object model and clear, thorough reference documentation of it upon its initial release.

Let's hope so!

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Link to comment
Share on other sites

  • 2 weeks later...
On 3/24/2023 at 10:54 PM, v_kyr said:

As a Pro Photo Studio our primary tool is Photoshop. Our priority for scripting is Photo and things like developing RAW files, adding meta data, importing LUTs, archiving files, creating high resolution image prints, exporting for web etc.

Creating documents and text processing is 'pretty', but it's of zero interest to us compared to the aforementioned raw and image processing which happens every minute of every day and is where the real time savings are. ...

Thanks for the update but I'll reserve any 'excitement' for when you can demonstrate some productivity scripts in Photo.

I completely agree with the person who made this comment.

As professional photographers, we need Photoshop-type development.

I think that a lot of development has been done recently for designers and graphic artists.

Link to comment
Share on other sites

6 hours ago, JpLaf said:

I completely agree with the person who made this comment.

As professional photographers, we need Photoshop-type development.

I think that a lot of development has been done recently for designers and graphic artists.

I think Scripting can not only help developers feel less stressed but also let extension creators be more creative. "Creating documents and text processing" is just one part of it. In fact, scripting is even more powerful. Photoshop also has many add-ons that give designers extra ways to edit images, including AI. It would be too narrow-minded to think that it is just a batch text handler just because of a few early demo videos.

Link to comment
Share on other sites

Our priority for scripting is Photo and things like developing RAW files, adding meta data, . . . etc.

> Creating documents and text processing is 'pretty', but it's of zero interest to us compared to the aforementioned raw and image processing which happens every minute of every day and is where the real time savings are.

What complete nonsense. Processing text documents can be as time-consuming (or even more so than) whatever you you do in Photo. If you can't automate various typesetting aspects you'll lose a lot of time.

Link to comment
Share on other sites

10 hours ago, JpLaf said:

I completely agree with the person who made this comment.

For the avoidance of doubt, that comment was included as an unattributed quote in a post by @v_kyr, but the words were those of another user:

 

Alfred spacer.png
Affinity Designer/Photo/Publisher 2 for Windows • Windows 10 Home/Pro
Affinity Designer/Photo/Publisher 2 for iPad • iPadOS 17.4.1 (iPad 7th gen)

Link to comment
Share on other sites

4 hours ago, Peter Kahrel said:

What complete nonsense. Processing text documents can be as time-consuming (or even more so than) whatever you you do in Photo. If you can't automate various typesetting aspects you'll lose a lot of time.

I'd be very happy, when scripting and GREP styles comes out in Affinity, to be as active in building it as well as helping us out with advices, just like you are in InDesign.

All the latest releases of Designer, Photo and Publisher (retail and beta) on MacOS and Windows.
15” Dell Inspiron 7559 i7 Windows 10 x64 Pro Intel Core i7-6700HQ (3.50 GHz, 6M) 16 GB Dual Channel DDR3L 1600 MHz (8GBx2) NVIDIA GeForce GTX 960M 4 GB GDDR5 500 GB SSD + 1 TB HDD UHD (3840 x 2160) Truelife LED - Backlit Touch Display
32” LG 32UN650-W display 3840 x 2160 UHD, IPS, HDR10 Color Gamut: DCI-P3 95%, Color Calibrated 2 x HDMI, 1 x DisplayPort
13.3” MacBook Pro (2017) Ventura 13.6 Intel Core i7 (3.50 GHz Dual Core) 16 GB 2133 MHz LPDDR3 Intel Iris Plus Graphics 650 1536 MB 500 GB SSD Retina Display (3360 x 2100)

Link to comment
Share on other sites

I'd like to make it clear that I'm extremely satisfied with Affinity Photo, but I personally expect the developers to develop the software in the spirit of Photoshop, in particular for "automatic" selections such as "sky, background, object", etc., so as to save time in Post Production.

In any case, thank you once again to the engineers, who have succeeded in making an extremely powerful piece of software, at a very aggressive price.

Affinity Photo is much more precise, and more pleasant to use, if I compare it to DXO and ON1.

But this is just my personal perception of Affinity Photo.

Link to comment
Share on other sites

12 hours ago, JpLaf said:

I'd like to make it clear that I'm extremely satisfied with Affinity Photo, but I personally expect the developers to develop the software in the spirit of Photoshop, in particular for "automatic" selections such as "sky, background, object", etc., so as to save time in Post Production.

In any case, thank you once again to the engineers, who have succeeded in making an extremely powerful piece of software, at a very aggressive price.

Affinity Photo is much more precise, and more pleasant to use, if I compare it to DXO and ON1.

But this is just my personal perception of Affinity Photo.

Using scripts, you can add new features to Affinity, like the ones shown here: https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin. For example, Stable Diffusion can separate parts of an image, such as the "sky/background/objects", as seen here: https://github.com/continue-revolution/sd-webui-segment-anything. So, when the Affinity team makes their scripting API available, communities will be able to create similar extensions.

Link to comment
Share on other sites

  • 3 weeks later...
  • Staff
1 minute ago, WaveF said:

Game over, if Affinity become a "Canva" desktop version, I'd return to Adobe without a second thought...

Perhaps discuss that over here

and well keep this thread with it's many followers on the topic of scripting. Thanks 

 

Patrick Connor
Serif Europe Ltd

"There is nothing noble in being superior to your fellow man. True nobility lies in being superior to your previous self."  W. L. Sheldon

 

Link to comment
Share on other sites

@Tim France

Quote

I hope those involved within Affinity will benefit greatly from the increased investment now with the Canva acquisition. This scripting feature within Affinity is assuredly a highly requested feature over the years. Regarding those coming directly from Adobe / ExtendScript along with Affinity users in general.

What you've shown as a sneak peek looks wonderful. 😍

Link to comment
Share on other sites

On 3/24/2023 at 2:05 PM, Tim France said:

I thought I'd give you a quick progress update and let you see some of things we've been working on at Serif Labs.

It's been a year since this progress report was posted by Tim. I wonder whether we could have another one soon. 🙂

2017 27” iMac 4.2 GHz Quad-Core Intel Core i7 • Radeon Pr 580 8GB • 64GB • Ventura 13.6.4.

iPad Pro (10.5-inch) • 256GB • Version 16.4

Link to comment
Share on other sites

  • 2 weeks later...
  • Staff
On 3/29/2024 at 5:14 PM, Seneca said:

It's been a year since this progress report was posted by Tim. I wonder whether we could have another one soon. 🙂

Hi @Seneca,

I don't really have anything specific to say other than the team is still smashing out APIs! We've also had to go back and do some of the less interesting "that can wait" tasks, such as dealing with shut down properly e.g. you start running a script and then decide to shut down the app halfway through its execution - we need to make sure things like asynchronous ops are properly aborted / synchronous waits end gracefully.  We've also been re-evaluating the high level JS layers to make sure they were intuitive and usable. We went hell for leather to get bits of the app exposed, but didn't do them in a particularly good way e.g. this kind of sucks:

let clrData = new RGBA8(0, 0, 255);
let clr = new Colour(clrData);

and should be something much more concise like:

let clr = RGB(0, 0, 255);

 

Link to comment
Share on other sites

Thanks! Always appreciate some brief insights into progress even if they aren't necessarily "exciting". Sounds like Affinity went all in for making sure we have access to about everything! Fun times ahead :-)

BTW, as part of the initial release of scripting, can you comment on whether there will be UI controls available to pass parameters to the scripts. Like sliders, entry fields etc? BTW, would love to have a curve input control as a parameter, like that is on blend ranges etc. Could do some really cool stuff with that :-)

Link to comment
Share on other sites

10 minutes ago, CM0 said:

BTW, as part of the initial release of scripting, can you comment on whether there will be UI controls available to pass parameters to the scripts. Like sliders, entry fields etc? BTW, would love to have a curve input control as a parameter, like that is on blend ranges etc. Could do some really cool stuff with that 🙂

Hello @CM0,

obviously this is for Tim and the team to answer but from what I understand the UI controls are going to be part of the release.

2017 27” iMac 4.2 GHz Quad-Core Intel Core i7 • Radeon Pr 580 8GB • 64GB • Ventura 13.6.4.

iPad Pro (10.5-inch) • 256GB • Version 16.4

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.