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

MNic

New Members
  • Posts

    1
  • Joined

  • Last visited

Reputation Activity

  1. Like
    MNic reacted to Tim France in Scripting   
    Yes, there will be some notion of a plugin / add-on package and they won't have to be single-execution-and-stop scripts like in these examples.
    I'm not in a position to promise anything (even with the bribe of a cuppa) but we have done some work on panels because it feels like having some built-in support for UI would be of value.
  2. Thanks
    MNic reacted to Tim France in Scripting   
    Hi folks,
    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.  We now have a scripting core that we're reasonably happy with and have put together a little test area where we can run Javascript code, so I thought I'd show you some of that. Things to note:
    This is all VERY early, like pre-pre-pre-alpha. The JS API is extremely fluid and is constantly changing. This is not how the Affinity suite will run scripts and plugins; it is just a sandbox window for internal testing. There is still a huge amount of work to be done. I can't provide any timescales for when scripting will be publicly released, for Beta or Retail. Constructive feedback is welcomed, but I won't be able to answer all questions - see previous points. I'm not claiming any of these examples are particularly useful on their own; they're just to demonstrate some basic scripting functionality. Re Javascript async - yes, we support it, I've just not recorded anything yet. The sleep calls are there for screen-recording purposes only. Here are some demos as low-res gifs. If you want to take a closer look, movs are attached.
    Create a Mandelbrot image

    Some dodgy physics

    Insert a dragon curve

    "Emojification" (translation?) of text

    Create a grid of colours
     
    Select and hide based on hue

    Replay a document's edit history

    mandelbrot.mov
    balls.mov
    dragon.mov
    grid.mov
    hue.mov
    replay.mov
    emoji.mov
  3. Thanks
    MNic reacted to Tim France in Scripting   
    Hi all,
    The team has been making good progress. I don't have any updates on a release date but please be assured we are not sitting on our haunches - we want to get this feature out as much as you want it out!
    Naturally we've been exposing more of the apps' functionality to scripts, but we've been working on plugin-specific technology too. For example, there's a new asynchronous file i/o and networking API, initially driven by the Javascript layer but then we thought it would be good for the lower level C/C++ plugins to have access too. Obviously with local and remote i/o, we've had to be careful that a script isn't covertly sending user data somewhere, so we've introduced a permissions system for Javascript plugins - unless you allow a particular script network access, it won't be able to use the networking API. It may not be a big shiny WOW! feature, but it's important to get these things right.
    Anecdotally, I can tell you we've actually used some scripts internally to do some genuinely useful stuff that would have taken literally days to do manually. One script I wrote optimised a document and removed about 60000 layers. There have also been relatively simple layout and alignment tasks that scripts can munch through in the blink of an eye. Last week I wrote a script that split a pixel layer into new pixel layers containing the blocks of grouped pixels. Even the pixel processing was done in the script - I didn't have to rely on the app to do the heavy lifting for me because our performance is good enough to implement DBSCAN in Javascript.
    Please be patient. We know you all want scripting available yesterday, but we're getting there!
  4. Thanks
    MNic reacted to Xakiru in Scripting   
    Javascript is the right choice, look around you guys.
    Lua or python should be ok too, but what matters is to have a way to script exporters.
  5. Thanks
    MNic reacted to angelhdz12 in Scripting   
    I think the best approach is server/client. Discord did it this way, and in their Discord's server, they have separate channels for each programming language that have a Discord Client API, and you can even request a channel if there's a language that doesn't have one, but is active and you want to work on the API for said language.

    This way, everyone can enjoy controlling Affinity Suite programs from their favorite languages, and then the debate is over. No more "my language is better than your language" silly arguments.

    You start the server with a button or menu option in the Affinity programs, then in your favorite language, install the affinity client library, import it, connect to the server, and start calling the methods that will send messages via Sockets or HTTP requests, to the server, and the server then process the messages and send the actions to the program.

    I expect this on version 2.0 if I will spend money to upgrade.
  6. Thanks
    MNic reacted to kimtorch in Scripting   
    Are there any plans to add scripting support?
    I notice there is no Applescript library at all but am interested to know if there are plans to add Applescript or perhaps Javascript support. Virtually everything we do as far as creating PDFs, packaging, placing images and text, formatting, proofing, sending pages to print etc is done via script.
    Tagged text goes hand-in-hand with scripting so I think this needs to also be supported.
  7. Thanks
    MNic got a reaction from BennyD in Scripting   
    Just chucking another request for scripting support onto the pile. I'd dearly love to jump over to Affinity Designer but it just won't work for me and the team I work with until we can do some automation of stuffs.
  8. Thanks
    MNic got a reaction from angelhdz12 in Scripting   
    Just chucking another request for scripting support onto the pile. I'd dearly love to jump over to Affinity Designer but it just won't work for me and the team I work with until we can do some automation of stuffs.
×
×
  • 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.