Jump to content

Recommended Posts

I was curious to know if there are any hopes that down the road a python or some sort of scripting API will be available for Affinity Applications like Designer/Photo.

 

Working in the film/vfx/games industry for over 10 years now, one of the biggest headaches is developing pipeline tools for Adobe applications due to their constraints and poor choice of Java implementation for API. 

 

I would love to see a modern API like python supported in Affinity applications. 

 

Thanks guys, keep up the great work!

 

Share this post


Link to post
Share on other sites

Yes definitely, Python that conforms to VFX Platform would be great, but even if you wanted to go with 3.5+ that would be amazing.

 

A few people at work were looking at Photo now that it's on Windows.  Anything that could be done to make it more studio-friendly would be much appreciated.

Share this post


Link to post
Share on other sites

I know its probably not first on your list but I second that. An API to use and automate Photo/Designer Features by a external program or script would by awesome.  

Share this post


Link to post
Share on other sites

I have also been asking for scripting capability (Javascript), as the ability to access AP functions from within my "Digital Assets Manager" app which I developed would be extremely beneficial.


High-End Photographic Prints

 

 

Share this post


Link to post
Share on other sites

Seconded again (thrived, fourthed...?). I wrote Actions for (the late, lamented) Freeway - these were mostly JavaScript, but you could patch through to AppleScript and any app or command line tool to enhance Freeway’s output. Being able to script these apps using something like JavaScript or Python would be a great addition to the Affinity mix.

Share this post


Link to post
Share on other sites

+1 for Python API. C++ and Python are the closest you'll get to a standard languages in the entertainment and scientific communities. I think you'll be surprised how quickly you get adoption if you can add this to your feature set.

 

Great work so far!

Share this post


Link to post
Share on other sites

I guess this is one reason why it is a bit tricky, everybody wants a different language to be supported. 

 

To add scripting support in JavaScript is probably very tricky since you would need a JavaScript interpreter included in the software. (if you take a existing engine it would be a lot a of work to adjust) 

 

If you mean Javascript code that runs outside in a Browser I am not sure how to implement access to programs/libraries that run outside of the browser sandbox. Or support for standalone JavaScript like Node.js etc. which in my opinion would also be questionable since it is not so much used for desktop apps.  

 

Don't get me wrong I am all for it, a (JavaScript) scripting option would be really amazing and maybe I am mistaken about the effort to implement it. 

 

But I guess its easier to make functionality available in an C++ library . And then there could be wrappers for python and other languages. 

Share this post


Link to post
Share on other sites

Scripting API would be great.

But no Python, I don't want to put a indent-checking ruler on my screen to write simple scripts.

 

Hilarious! I hate Python for this reason but it is super-powerful and the PyQt interface allows us to share tools across applications.

Share this post


Link to post
Share on other sites

Hilarious! I hate Python for this reason but it is super-powerful and the PyQt interface allows us to share tools across applications.

 

And JS+HTML/CSS is far more flexible to build a good cross-platform experience.

PyQt is ugly, yes, simply ugly.

 

Though the python lib is smaller to include, the performance might be the same. (No intention to start a war with zealots)

Actually Node.JS(V8) performance is even better than the PyPy in my company's use cases.

 

What I can't give up is the Python scientific libs my project depends on.

But those ugly __***__ and more in the code, well, as long as it works, the end users won't care.


The Boss is watching you.  :ph34r:

Share this post


Link to post
Share on other sites

Agreed, Python is very powerful, has a clean and object oriented syntax, is easy to learn and has a lot of extensions available, allowing even things like OpenCV to be used, and native code can easily be integrated via boost::python.

 

If the VFX and games industry is a target, Python would be a no-brainer anyway. Ideally, the version of Python and all associated libraries would then conform to the VFX Reference Platform for each year to make pipeline integration even easier.

 

I'm hoping for a much better UI integration than Adobe has with their horrible JavaScript stuff. Having a basic command line/script console and a basic script editor in the actual application, possibly as an optional Persona, and a way to add scripts to buttons (like with the Maya Shelf) into the main UI would make it really useful as power user could then quickly do stuff that way with no need to fire up a script editor, save to a special folder, relaunch the application a hundred times and so on.

 

As a next level, being able to create custom commands with undo support and even tools, menu integration and native UIs from within scripts would be killer for creating seamless extensions with great usability, avoiding the ugly Flash and recently HTML5 UIs of Adobe extensions that stick out like a sore thumb. Recently, it is apparently even necessary to use some custom version of the Eclipse IDE. I think developing scripts and scripted extensions should be simple and easy, while still offering great integration when needed, so that more complex tools developed this way are really seamless and end user friendly.

 

InDesign already has very limited, buggy and kind of cumbersome support for menu commands via ExtendScript. It's a great idea, but it's a pain to write and there is no proper support for localization, and you have the issue of parallel persistent script engines running, and using code from other files is really annoying to do in ExtendScript. Compared to simply deriving from a MenuCommand class in a clean Python API, it's a joke.

 

One thing that would be cool would be a way to package python scripts with all code files, resources like icons and localization strings and libraries into Apple-type bundle folders that would make them very easy to install and uninstall for the end user.

Share this post


Link to post
Share on other sites

Vector based scripting - Lisp  ;)

Raster based scripting - C++

 

But I'd rather write code using a provided Affinity API so it's not language specific rather than scripts.

 

How about a MatLab integration!  :)

Share this post


Link to post
Share on other sites

Yeah, a python API would definitely rocks for pipeline development/integration !!

 

Would even have better if Affinity was developing their apps with Qt, which could easily opened tons of features regarding UI with python/pyqt !

 

Maybe not immediately as AfPhoto need lot of fix and to mature before being production proven, but I guess developers should have python API in mind to prepare the future ;)


intel i7-3930K - 32Go - SSDs | Dual screen | Running last customer beta

Win 7 Pro SP1 x64 | nVidia GTX 680 - v376.33 | intuos 3 - v6.3.15-3

Share this post


Link to post
Share on other sites

+1 for Python (3+ !) scripting API. Would be ok with JavaScript but there's so much more that can be done with the 100,000+ python packages available. It's the only thing holding me back from buying this, I'm currently writing scripts for Photoshop :(

Share this post


Link to post
Share on other sites

 Hey everyone :)

 

Just wanted to say, that I would really love to see Python support and ideally PySide as well. Every professional design application I can think of supports Python (except crappy Adobe software...)

 

Pipeline integration is extremely cumbersome in Adobe software because the scripting capabilities are so bad. Together with a Linux port there would be good chances that affinity photo would be considered by VFX studios around the world :) Affinity Photo already has better EXR support than Photoshop, together with Linux, Python and a good adjustment layer like nukes grade node, Affinity Photo would have another real advantage over Photoshop in regards to VFX needs.

Share this post


Link to post
Share on other sites

Here is another use case from the graphic design realm:

 

Say I would like to add support for my favorite stock image site to the Stock panel. In Python, I'd derive from some simple Affinity.StockImageProvider class and override a few methods. I could use either a SOAP/JSON package to easily communicate with an official API or use something like the urllib2 and BeautifulSoup packages to quickly parse the search result page manually. Maybe two hours of work and I'm done.

 

In contrast, with JavaScript, I'd never even remotely consider undertaking such an endeavor in the first place.

Share this post


Link to post
Share on other sites

I have just purchased Affinity and have been searching google for an answer to JokerMartini's question. Any update or progress on this that I haven't seen yet?

Share this post


Link to post
Share on other sites
On 1/4/2018 at 7:56 PM, JokerMartini said:

Any updates regarding and python or C# api for affinity photo/designer?

 

I was asking for this, and the languages I chose were Python and C#!!! Cool!

But I think I'll vote for Python. Simple syntax, no datatypes, and a lot of functions , string interpolation, generators, list comprehension. Yup, Python it  is!

please Serif add this feature! :17_heart_eyes:

Share this post


Link to post
Share on other sites
58 minutes ago, JokerMartini said:

Anyone here or know of anything. They development team is usually really good at responding to threads, I'm surprised no one has said anything yet...

The Serif team generally does not respond in the Suggestion forums. They respond in the bug forums, but usually they only read the threads in the Suggestions forums unless they need to correct something someone has said, or greet a newcomer to the forums.


-- Walt

Windows 10 Home, version 1903 (18362.145), 16GB memory, Intel Core i7-6700K @ 4.00Gz, GeForce GTX 970
Affinity Photo 1.7.1.404 and 1.7.1.404 Beta   / Affinity Designer 1.7.1.404 and 1.7.1.404 Beta  / Affinity Publisher 1.7.1.404

Share this post


Link to post
Share on other sites

What they have said is that the went the JavaScript route.

Best regards!


You'll never know what you can do until you get it up as high as you can go!   

AMD FX 8350 :: Radeon HD 7870 :: Windows 10 ::  http://mithferion.deviantart.com/

Oxygen Icons :: Free Quality Fonts :: Public Domain Pictures :: iOS 11 Design Resources :: iOS App Icon Template :: The Secret of High Quality Art

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×