As some may be aware, I have explored Dorico’s Lua capabilites in depth over the years. And to get the most out of scripting, I sometimes had to become creative, given its known limitations. A number of the approaches that I came up with seemed to lend themselves to be used generically, if only they were packaged in a way that made this possible.
So, I recently took the time to do just that – the result is the ConsoleTools Lua framework.
Succinctly put, it is a way of making Lua scripts accessible in a flexible and versatile way.
Among other things, it makes it possible:
- to use scripts via keycommands¹ in a variety of ways
- to conveniently re-arrange script-to-keycommand allocations on the fly, for example with workflow-dependent profiles
- to organise and document scripts according to a user’s needs
- to use scripts like Lua functions via the console, and to pass arguments to them
- to use several instances of the same script, with different parameters, which can considerably increase the usefulness of an otherwise trivial script
It also includes a small auxiliary library aimed at facilitating script development and making custom scripts take advantage of the framework’s strengths.
What ConsoleTools is NOT capable of is getting around the current limitations of scripting. It does not have meaningful access to data from Dorico, because that kind of access simply does not exist for the Lua environment.
Nonetheless, I am confident that using ConsoleTools can make you use Dorico’s Lua scripting in a much more powerful way. Whether you just want to use scripts more, or you write Lua scripts for Dorico yourself, the framework offers a variety of tried approaches for doing that more conveniently.
ConsoleTools is available as a full version, for purchase, and as a limited free version. The differences between the versions are listed more fully in this overview document:
ConsoleTools – Overview.pdf (146.8 KB)
The framework comes with a tutorial for getting to know the basic functionality. While it is best experienced with the framework installed, you can read about what it does in this excerpt from the documentation:
ConsoleTools Tutorial (excerpt from user manual).pdf (237.5 KB)
The two versions of ConsoleTools, as well as its complete documentation, are available on my website.
Please note: to my ongoing frustration, there currently remain problems with the webshop that I ended up using for distribution. This means that you might receive a download link that fails to give you access to your files. In such a case, send me an email to the address that should be given in the same message that contained the defective link. I will then usually send you a replacement link within 24 hours.
If ConsoleTools did pique your interest, I would be delighted if you gave the free version a try. For feedback or further questions, feel free to contact me here, or via direct message.
¹ some JSON editing is involved in setting this up, which is facilitated during installation and explained in the user manual.