To start:
So, I love this program. Every artist I come across I end up recommending Paintstorm to them.
I find hardly any other program can keep up with the raw power the brush engine provides since the GPU acceleration has been implemented.
To the point of this post:
I am not only an artist but a teacher and content creator, and have tried on several occasions to incorporate the script engine into my workflow.
As powerful as it is, I do find it to be a bit problematic and the problems with using it as a tool to display a speed painting of my art outweigh the pros.
The reason I am drawn to using this aspect of the program is the versatility of framing my drawing process without having all my instinctual actions of zooming in and out, plus my experimentation of layer effects to become a seizure inducing mess when playing back a recording at high speeds.
The problems I have been experiencing:
I like to put down my drawings from time to time and I have yet to come across a way to continue a single script recording across multiple sessions. I end up having various scripts named appropriately to compensate, however, with this comes space for errors and the engine losing itself.
I also find that the script cannot handle all operations and since the program can crash when I do others, I can end up with lost data and will have to restart the process.
I found that pausing the script on a rare occasion will have some kind of error that leads to it losing track. I can't quite recall specific circumstances where this has happened.
My habit of ctrl+s doesn't translate to my scripts.
My feature expansion requests:
So I don't know how difficult the implementation of these will be, and I don't know how far you wish to expand this feature, if you consider it done or not. But I like to think of this feature being akin to procreate on the ipad. Now I don't own an ipad, nor procreate, but when I see content creators utilising the playback feature of that program it shows me the potential to be made.
1. Custom Save Format for a drawing that includes a recorded script of the process.
- toggle in options or on new canvas
- allow for playback of the drawing at any point while creating. Allowing for you to go back to any point in the drawing after watching it redraw it.
- allow you to scale the canvas after the fact without all the predetermination, with the only caveat being to watch the drawing happen again.
- this allows the script to be saved concurrently with the drawing save.
2. Expansion of the script tool to encompass all operations in the program.
- this allows for a finished process to be entirely recreated and doesn't lock features behind a non-recorded wall.
3. Refinement of the process to allow for pausing and resuming scripts.
- This will keep the file management tidy and will allow for me to be able to solve most of my problems.
Closing thoughts:
I haven't completely thought this through, but I thought it well to put my ideas out there as they stand. I will spend some more time thinking about this. As painstorm studio is the only program that has this kind of functionality on windows, I think it would be a waste if it doesn't realize it's full potential.
I know that I am a specific use case and this doesn't apply to the majority of the people who use the program, but to know that my thought has had some consideration for the future will mean a lot.
Thanks
Script Engine Refinement
-
- Posts:1
- Joined:Wed Mar 13, 2019 2:20 am
Re: Script Engine Refinement
Script is the one of the hardest part of Paintstorm code. Any new feature must be also added to the script. But someone of it doesn't work. Script is not very stable
Re: Script Engine Refinement
If the script engine's quite difficult to maintain. I'd say keep that for macros but in time you could have like a internal script language that utilised handler hooks that can be programmed by macro recording also. That's way advanced at this stage I think, but writing global handlers might be useful for future third party features that could be installed as custom UIs for the time being? I'm sure that'd be better for plugins as I'm sure you wouldn't want to expose the internal program shell too much. Certainly file output could be implemented via a conformed library function set, then if the trial version is being used third party programs can't override that.