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

Recommended Posts

9 minutes ago, v_kyr said:

Do you have to care about that? You are an end user (customer) and not a member of the dev team, so why do you always worry about those things?

I am not worried about it, other than how it relates to when we end users might actually see support for a reasonably feature complete & easy to use scripting language.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

4 minutes ago, X-Raym said:

If you really want to speak about code, here are two exemple with proto-code (not actual code but coding style demo. I use Lua syntax as ref).

From the second proto-code example:

Quote

 affinity is a table with all function exposef by the API. layer is a variable of type "userdata" in lua, some kind of special variable type, but not an object.

Aren't you assuming there is an API that includes some kind of special non-object variable type?

No offense intended, but even I can write psedo-code that could do all kinds of marvelous things if I assume the methods, variables, & so on actually exist in the application. But if they do not, what then?

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

@R C-R

Offense non taken but I thought that a code exemple would help you see that on scripting side, the non object approach can works just as well.

I'm a professional dev, and I mostly do scripting for other apps. The protocode exemple indeed dont work but are direvt port of other scripts in some apps I used, it doesnt come from nowhere.

For the variable type, some language can create special variable types which are not number, string, array or object. In Lua these are called 'userdata' type. It is not Object Oriented programming, these dont have their own functions or properties. It just make data sanitization a bit easier. (a simple variable type check).

but I my exemple, it could simply based on ID number, it would works just as well. In some software I use there is both approaches.

Again this is slightly off topic. We should join an API related thread for these code debate.

But mostly we have to hear from Affinity devs themselves. So we can know if our needs are taking into account :)We'll take anything we offer !

 

Link to comment
Share on other sites

48 minutes ago, R C-R said:

I am not worried about it, other than how it relates to when we end users might actually see support for a reasonably feature complete & easy to use scripting language.

You can be confident there will choose what is simpler for them to maintain. Scripters will adapt.

Link to comment
Share on other sites

4 hours ago, X-Raym said:

But mostly we have to hear from Affinity devs themselves.

As I mentioned in my second post in this discussion, from time to time we have heard from them. AFAIK, nothing has changed that would indicate that support for a scripting language is something we should expect any time soon, regardless of how useful it would be or how much we would love to see that.

Their comments are similar to those I have seen from the developers of other software when asked about why their products don't support scripting. They all say variations of the same thing: that because their apps were not designed to support scripting from the beginning, it would not be practical to add that later without rewriting much of their code.

We know that there has already been at least one major rewrite of the Affinity core code -- the devs said they had to do that just to be able to support some of the features added to one of the older updates, & that it took something like six months to get it to the point they could begin to add those features. It would be great if they have already started rewriting 1.8 or the promised 1.9 versions to support scripting but considering everything else they need to be doing (if nothing else to eliminate all the bugs we keep finding in 1.8) I think adding scripting support is still a low priority for them.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

@R C-R You are totally right, but I think as a user we have to give feedback about what we would find useful. The sure thing is that if no one is requesting API, it will not happen. It may be illusory, but I think it worth it, pointing good usage cases of API could make them change their mind at some points. So many things could be solved with an extra limited sets of functions. It would be hard but not impossible.

Sure, bug fixes and enhancements are the priority for everyone, I won't argue with that.

Link to comment
Share on other sites

18 minutes ago, X-Raym said:

but I think as a user we have to give feedback about what we would find useful.

Yes, but this topic is not in the right place to be doing that. It is in one of the Questions forums. Feedback belongs in one of the Feedback forums, where the appropriate Seriff staff will see it. They don't look here for that information (or so I believe, at least).

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

21 minutes ago, X-Raym said:

The sure thing is that if no one is requesting API, it will not happen.

FWIW, some of us have been doing that since 2015. It wasn't always so but currently, the best place for that is in the Feature Requests & Suggestions forum, following the guidelines mentioned there.

Edit: Walt beat me to it by less than a minute. I guess I am getting too old & slow to win that race.  wheelchair.gif

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

32 minutes ago, X-Raym said:

Yep, we drift quite a bit. I also have posted about API feature requests back in 2018 already :P

Others posted 4 or 5 years ago, so you are in good company. - But I think it's another one of those themes, which are part of the version controls .ignore file list. 😉

☛ 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

9 hours ago, X-Raym said:

Yep, we drift quite a bit. I also have posted about API feature requests back in 2018 already :P

I noticed that in your second post in that topic you listed 4 "keys to a good API," among them a standard scripting language & extensive documentation. Somewhere in one of the older topics, there is a discussion about which language that should be, but there was never any consensus about that.

In an earlier reply in the one you posted to @TonyB wrote that they had not "yet" written an API & that it "would take a while," but promised that they will have "some kind of extensibility" in the future.

You also listed "Lots of privilege" as a key. Depending on how it is implemented, that one could be a little tricky to implement as long as Serif is selling the apps in the Mac App Store because of Apple's ever stricter sandboxing requirements for apps purchased from the MAS.

So all things considered, we should be getting some unspecified kind of extensibility eventually, but we will have to wait & see when that will be & what it will enable.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

@R C-R  the "Lots of privilege" stuffs basically means access to file systems function, for eg having a script to import all files in a directory into the composition, name and color layers based on CSV file, or to export certain layers etc. It would be nice but it is not as crucial as standards layers properties (name, size, color...) for which we could do a lot of nice things without extra privileges.

Thanks for pointing the @TonyB answers, it is a while ago but it gives hope !

Link to comment
Share on other sites

As long as it is something that can be initiated from within the app's sandbox, implementing the necessary access privileges should not be too difficult, as long as they are sufficiently restricted to conform to Apple's security model. Basically, that means the app would have access only to certain kinds of data & only for specific, well-defined uses.

IOW, it is doable but more complicated than it might otherwise seem.

All 3 1.10.8, & all 3 V2.4.1 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
Affinity Photo 
1.10.8; Affinity Designer 1.108; & all 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

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.