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

Search the Community

Showing results for 'scripting'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Affinity Support
    • News and Information
    • Frequently Asked Questions
    • Affinity Support & Questions
    • Feedback & Suggestions
  • Learn and Share
    • Tutorials (Staff and Customer Created Tutorials)
    • Share your work
    • Resources
  • Bug Reporting
    • V2 Bugs found on macOS
    • V2 Bugs found on Windows
    • V2 Bugs found on iPad
    • Reports of Bugs in Affinity Version 1 applications
  • Beta Software Forums
    • 2.5 Beta New Features and Improvements
    • Other New Bugs and Issues in the Betas
    • Beta Software Program Members Area
    • [ARCHIVE] Reports from earlier Affinity betas

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Location


Interests


Member Title

  1. 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.
  2. I think you're saying you don't want rotated text but that you want the text to flow from top to bottom and then from left to right. Is that correct? Unfortunately, Publisher doesn't support vertical text. I think the easiest thing you could do is to create one frame the way you want it and then to replicate it for the sheet of labels. This isn't hard with the latest version of Publisher. Just create one and position it correctly and then select it with the Move tool and press Return. That will open the Move/Duplicate window. Click Duplicate and enter how many copies you want to create horizontally with the horizontal offset. After duplicating those, select them all and press Return again. This time enter the number of vertical copies and vertical offset. Many years ago I wrote a script to generate sheets of labels for the entire Avery catalog for another application, eliminating the need for templates. Perhaps I'll do that again when scripting becomes available but labels aren't used as frequently these days so there isn't much demand for it.
  3. Neither can I My tuppence worth Hard to say without knowing the construction of your image and what output format you need If the specific object is a vector shape then you could export as svg and use scripting to change colours and write new svgs If it's a raster image and you want to recolour a region then you could try imagemagick with connected-components
  4. Only if/when Serif adds scripting and/or logic the APub's merge capabilities. I do something akin to what the OP is looking to do via merge logic, character styles and different master pages in a different application. The working sample code is: «fields bizcolor,biz,name,title,addy,csz,blurb «if bizcolor = "blue"»«set master of this page to "B-blue"» «word 1 to 3 of blurb» «word 4 to 40 of blurb» «biz» «name», «title» «addy», «csz»«endif» «if bizcolor = "yellow"»«set master of this page to "D-yellow"» «word 1 to 3 of blurb» «word 4 to 40 of blurb» «biz» «name», «title» «addy», «csz»«endif» «if bizcolor = "green"»«set master of this page to "C-green"» «word 1 to 3 of blurb» «word 4 to 40 of blurb» «biz» «name», «title» «addy», «csz»«endif» The screen shot below is a compilation of the tab-delimited merge file (which has a field for color), the result after the merge (separate pages), the imposed result and the above merge code.
  5. Hi, I can't find answers to this question on the affinity website, so I'd appreciate any guidance. I'm a developer using Affinity Designer for artwork creation for a game. I have a bunch of assets, and I need to separate out the various named layers in the assets into different files for 1x, 2x and 3x, so they can be layered back together in the game. I also need to do some simple operations on export, like applying filters, setting fill colours...etc. The thought of sitting down and performing the monotonous task of hiding layers, setting properties and clicking export for potentially hundreds of files is daunting, and I'd like to avoid a manual task wherever possible. Obviously my initial thought as a developer is that surely this is scriptable - I should be able to write a simple Python script (or AppleScript), that could automate the process quite easily. I had a quick search around the .app bundle on MacOS, and couldn't find the the sdef Scripting Definitions file, so I guess AppleScript is not supported, but I can't imagine a professional app like this wouldn't support something like Python? Is there a scripting API that will allow to me to execute simple editing and export steps on a batch of layers? If there is, could someone point me in the direction of the documentation? Thanks! -Matt
  6. I guess it isn't possible to see if a page has multiple text frames with the same name? Maybe when scripting is implemented (if scripting is implemented).
  7. Also, has Affinity considered how Scripting might need an extended Beta or be part of more than one beta cycle? I can envision with such a complex feature set that there is going to be far more feedback and initial issues than a typical feature release. It seems that it would likely be beneficial if an extended preview is available in some form to iterate on before finalizing.
  8. 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 :-)
  9. @Don Johnson Maybe a Tool like AutoHotKey (Win only) could be helpful AutoHotKey can be used to automate program tasks in many programs. (useful if a Program have no Scripting build in) This allows keyboard shortcuts and mouse events to be sent to Affinity Designer, for example, which are then executed there.
  10. Thanks for your post @Don Johnson! As Alfred has mentioned above, Macros are a function of Affinity Photo only and as far as I'm aware there are no plans to introduce these into Affinity Designer at this time. However, Scripting is due to be added in a future version of Affinity, though our team hasn't provided any specific timescales for this currently. In the meantime I'll move this post to the Feedback section of the Forums, I hope this helps
  11. Scripting is coming to the Affinity suite but macros are only available in Photo. There are no signs of a macro capability being added to Designer any time soon.
  12. That might be the case. I started drawing, and seriously trying to improve for about 3 decades. First I learnt Photoshop, then Gimp, I tried Krita, Autodesk Sketchbook, and other programs. I settled for Clip Studio Paint. For desktop publishing, I tried Page maker back in the day, I tried Quark Xpress for a very brief period (when I was a student), then mostly did any small things I needed with Microsoft Publisher, until it wasn't enough anymore. I tried Scribus, but the UI was hellish. I started looking for alternatives, I checked Canva first, but it did look pretty basic and didn't seem to offer much control about the output, save for some pre-made templates I could fill up. I found Affinity Publisher, and I went for it. For vector, I tried Coreldraw, Illustrator, then Inkscape, then I didn't do anything for years. When I needed it again, since I was already using Affinity Publisher, I tried Designer, and that's where I am. Each of these steps took time to learn. I do that for everything: For 3D, I started with Real3D and Lightwave in Amiga, went to PC and 3d Studio, 3D Studio Max, and finally Blender. For programming, I've had to learn multiple programming and scripting languages. I may not be the best at any of them, but I can do what I need, mostly. Sadly, there's a lot of people out there (the ones that cheer in excitement for any of the AI generative stuff that seems to be all the rage despite their blatant disregard for copyright) that consider spending time and effort in learning a new skill like something undesirable, and they feel accomplished if they manage to write a 1-paragraph prompt that produces a half-arsed result, and they write strong statements considering themselves "artists" in social media and telling everyone how much "effort" took for them to get that result. Probably, the target for pre-made templates, no-fuss desktop publisher programs is this type of user, that does not have or want to invest any time and/or effort to get something done, and are OK with a stereotypical and/or mediocre result as long as it approximates what they were looking for. For the guys who know EXACTLY what they want, that is never enough, because a generic app will never allow enough customization, and therefore, it will never produce the right result.
  13. scripting should make that possible. i really hope that scripting will be released
  14. Fireworks is the best! Recently, I've been scripting to perform batch jobs for replacing images in a distorted graphic-symbol and changing image series numbers in Fireworks, tasks that can't be done in Affinity Software. I've also tried scripting in Photoshop, but it's frustrating due to an inexplicable warning: "The command 'Edit Contents' is not currently available," which made me give up. I hope this acquisition will not change Affinity's original development plan and software positioning.
  15. On Mac, the 3rd party utility Default Folder can do stuff like that via scripting or a Shortcuts action. I use this to automatically open exported PDFs in Packzview. But it would be also possible via built-in MacOS tools, for example scripting via Folder Actions attached to a specific folder.
  16. I'm a bit confused by this post... are you posting a tutorial/example for other users (in which case it belongs in the tutorials forum - https://forum.affinity.serif.com/index.php?/forum/9-tutorials-serif-and-customer-created-tutorials/) or are you asking for Serif to somehow connect with the developers at Keyboard Maestro to provide enhanced integration with their product? There is already a thread discussing scripting/plugin support pinned at the top of the feature request forums; that is coming eventually. Any tie-ins with Keyboard Maestro or other platform-specific utilities would most likely need to be derived from that more generic scripting support. I would not expect Serif to provide direct specific support for KM or other similar utilities, but the plugin support may provide a mechanism for the KM developers to provide a better tie-in with the Affinity products, at which point you could request that of them. You may not even need that plugin to make more effective integration possible, however, as KM can already execute arbitrary AppleScript code, and Serif suggested at one point that while they seem to have decided to use the relatively pathetic ECMAScript language as the basis of their scripting support, they will at least provide one AppleScript command to execute provided ECMAScript code against their scripting engine, so that might provide the hook needed to perform tasks more directly using the AppleScript support in KM.
  17. 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
  18. I'm not surprised that there are over 31 pages of comments on this topic. The bottom line is that many users are used to their software suppliers manipulating/misleading them. This is NOT to say that Affinity is, but clearly previous uncertainty from other software sources breeds uncertainty. The most I can do is recount my own experiences and what lead me to adopt Affinity Apps a few years back. Originally I used PaintShop Pro as my main graphics editor, but that was back in the 2000s and most of what i did was altering photographs and making maps. PSP had a number of interesting features, such as using Python as a scripting languages; being able to rearrange your entire UI, and a vector drawing system that coexisted with the bitmap stuff. I used PSP for a long time (and recently came back to it as a "backup" app to be able to access over a 1000 images in PSP format). But when I started making webcomics I discovered Macromedia Fireworks. It was really good for making webcomics. I started with drawing on paper and scanning those in via PSP, but I'd use FW to do the layouts and place images into a page, adding text boxes, speech balloons and other special effects in FW. And then Fireworks was acquired by Adobe. 😔 I started making webcomics via screenshots from virtual worlds (most Second life) and I bought a copy of CS6 with Fireworks in it. that was handy as well because I started doing a Masters in Fine Arts and my university had Adobe apps on every terminal! It was their preferred software. As part of that I created a graphic novel of 126 pages. Honestly though, I hated drawing in Photoshop, and Illustrator's UI aggravated me endlessly. After reviewing the software available and discarding GIMP (with an UI almost as bad as Ai), and even simple programs like Paint Tool Sai (great fun to use but it was extremely hard to scale the images created) I chose Clip Studio Paint to draw those pages, and formatted them in InDesign. Not exactly perfect but it worked. Couldn't use FW to do this as it was too vast a project for it, and after Adobe started the subscription model they killed Fireworks (re-imagined no doubt in a subscription app). But I'm on a fixed income, on disability for years, and a subscriptions are problematic. I might be able to afford just one, but like streaming services, the more software firms that use that model, the harder it is to to afford them. I can save up and make single purchases, but subscriptions not so much (the only subscription I have is Disney+ basic, and that's for Doctor Who)The deal breaker came when I found that to use (and update) my CS6 apps I had to join "the cloud". I started looking for proper replacements for the Adobe stuff, and for Fireworks as well. I rejected half a dozen apps before settling on Affinity. I had replacements for Photoshop in Photo, Illustrator (and Fireworks) in Designer, and InDesign with Publisher. I like these apps. Not because they're "better", but because they're fair easier for someone with visual impairments to use, and not only that, but (like Paint Tool Sai) they're FUN to use, especially the v2 apps. Designer is like Fireworks on steroids! So I'm not keen on on any requirement to subscribe to other services (even a free subscription like the Canva Basic) to use. I still use CSP from time to time (using 3D figures to create poses, importing photos to line drawing, et cetera) but they have a Clip Studio service which you need to use for registration of the apps but that's bearable because you DON'T have to use it to to run CSP if you don't want to. The sort of options I'd like to see after the acquisition would be perhaps, something similar to that used by CSP (which evolved over time). That is, you can buy outright current version of apps; you can update the license (for a smaller fee) of older versions of the apps you have a license to, and you can just use them on a subscription basis if you want. But force me to have a subscription (even a free one) in order to use my apps, then I walk and look for alternatives. I did it before with Adobe, and used old versions of the their apps until I found alternatives, and I can do it again. Hopefully it won't come from that. I'm optimistic in that I think Affinity and Canva will keep their word on this, but I understand the skepticism that users have on this, when other software developers have "changed the deal" (like Darth Vader in Empire Strikes Back) on them . Please, please, be the exception, and we'll keep using the apps, and supporting them as well.
  19. Hi, Not a feature request, but a short recap of what I still miss to make Publisher my page layout program. As a premise, I must say that I'm a technical writer, with the occasional narrative/philosophy book on which to work. So, my needs are very much specialistic, and not obviously general. - Export to DOCX. This is a file format that would allow exporting to word processors for further reuse, and to programs to be used to generate reflowable ePub books. It would open many opportunities for integrating Publisher into consolidated workflows. - Export to IDML. This would let InDesign users open Publisher files without too many issues. Reuse would be finally possible, and Publisher will be allowed in a consolidated workflow (as is, for example, LibreOffice or Google Docs into a workflow based on the DOCX file format). - Support for long and complex tables. As a technical writer, it is easy to understand how essential this feature would be. - Picture frame/object styles. Being able to quickly adapt the style of image frames to a different house style or output type is essential. For example, I could have shadowed images in the onscreen reading version, and have to remove them for digital printing. Styles would let one do it by just applying a template or editing some parameters in a style. - Accurate CJK language support. I just need the horizontal version, with correct spacing and line breaks. In my agenda, China and Japan are essential markets for both devices and books. - RTL language support. While a less immediate need than CJK support for me, this is important. I have to admit that these wouldn't really be a show-stopper for me, at the moment, since my partners usually prefer to work on a Word/LibreOffice file. But it would be handy, when making multilingual publications and wanting to avoid pasting text as images. - Conditional text. I make different versions of the same project, and conditional text would let me keep all the source materials in the same file. Check a few conditions, and you go from a larger edition to a limited one, or to one for a customized model. - Scripting. This is very much tied to the ability of exporting to different file formats, so it would be a bit premature. Batch-converting several files would be my main use of scripting in Publisher. So, maybe I just need a batch-convert feature. I would like more things (like export to a web site project, or finer navigation through a structure tree), but the above would really be enough to allow abandoning InDesign once forever. And getting able to take advantage of the integration with the other Affinity programs. Paolo
  20. I see that you've edited your response. I definitely agree that in some situations there are too many nodes in some curves, and path smoothing definitely has to be improved, but I feel the need to remind you that recently having switched from Adobe the redundant node situation is muuuuch better in the Affinity suite. Yes, this is definitely missing. I am currently working with Luminar Neo + Affinity Suite, and although Luminar technically has a plugin supported by Affinity, its integration is quite bad. It only launches the app, only works in Photo and not in the other apps, and has issues with transferring work between the apps, even as a simple jpg layer. I think there's a pinned thread by the Serif team in the feature requests that addresses just that. Advanced JS scripting is definitely in the works and already looks quite powerful.
  21. you linked to the scripting page, this one is the Linux page;
  22. FWIW as a landscape photographer, personally I'd like to see in Photo: Editing of masks with their pixel layer visible; otherwise the mask editing process is blind to either the pixel layer or the mask itself. This could be as simple as making the mask a translucent color over the pixel layer (with a hotkey toggle). AI features (please note I'm limiting AI to editing, not content creation) -- Improvements to inpainting / content-aware fill and / or generative fill of some sort Better, more intelligent masking AI-based sharpening Adjustment brushes (e.g., as in LR / ACR), preferably non-destructive to whatever they're adjusting Better, more parametric selections by color A non-destructive, re-editable gradient tool usable on masks / pixel layers; yes, I can (and have) used the existing gradient tool on a fill layer but its clumsy A true scripting / macro language with document and app hooks; IOW, the ability to record macros that can automate tasks but with dynamic variables. That could also enable the growth of a plugin ecosystem. The ability to toggle a layer off / on with the same keystroke Add some kind of visual flag to indicate that a (and which) layer is soloed Support tiled document windows in the UI Make the tools panel a first-class dockable-anywhere window (like the other panels) A customizable status bar, where we can specify which app / image information variables to include Make the drop-down menus left align with their parent by default (like virtually every other app) Make the UI font size (and even better, the font itself) a preference Make it possible to copy, paste, cut, move, etc., selections on a pixel layer without creating a new layer Fix whatever is causing the massive (2x, sometimes more) bloat in *.afphoto files when initially saved Remove (or make a preference) the presence of the default snapshot.
  23. 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.
  24. No. I've wanted that myself before because I have some muscle memory from some app that worked that way. I'll make a note of it, this would be a trivially easy script to write once scripting is available. It would just need to get the coordinates of the selected object, delete it, and paste whatever is on the pasteboard to the coordinates of the previous object.
  25. import {app, type Document} from 'affinity/app' import {ArtisticText} from 'affinity/tools' const doc: Document = app.documents.current doc.insert(new ArtisticText('Affinity Scripting API, let\'s go!!!🔥🎉👀😍👏'))
×
×
  • 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.