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!

 

Link to comment
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

 

 

Link to comment
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.

Link to comment
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. 

Link to comment
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:

Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
Share on other sites

  • 2 weeks later...

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

Link to comment
Share on other sites

  • 3 months later...

+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 :(

Link to comment
Share on other sites

  • 3 months later...

 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.

Link to comment
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.

Link to comment
Share on other sites

  • 5 months later...
  • 1 year later...
  • 1 month later...
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:

Link to comment
Share on other sites

  • 1 month later...
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
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 18.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1

Link to comment
Share on other sites

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.