Streamline Your Cueing Workflow With a Lua Library for ConsoleTools

As part of the release of five scripting libraries for the ConsoleTools Lua framework, I today publish the Cueing Tool Library (the four other releases are: Tuplets, Casting-off, Window Menu Commands and Selecting). It provides a number of simple tool functions for organising common workflows while preparing cues in Dorico, mainly by streamlining user interaction with cue properties.

GIF – Restrict available cue clefs to subsets:

apply cue clef subset

GIF – Streamlined property setting:

streamlined cue property setting

You can download the library below. The zip file contains the actual Lua script, and a PDF with the complete documentation:

ConsoleTools Tool Library - Cueing 1.0.zip (567.7 KB)

Note: Do not try to run the lua file directly in Dorico (via the Script menu). You will need the ConsoleTools framework in order to use the library. However, the free limited version will suffice to try it out. You can find more information about ConsoleTools in this thread.

Feel free to ask any questions about the library here. (Any questions specifically about ConsoleTools should be posted in the thread about the framework itself, though.)

As with previous releases, it should be noted that this library is somewhat of a “public beta”. If you find that something does not work as should be expected from the documentation, please feel free to get in touch with me. Further down the road, I plan to re-include the library (with any bug fixes) in a larger one, which will offer a variety of other script-enhanced Dorico tasks.

6 Likes

I’m not sure I understand what “subsets” mean here. Could you elaborate on that?
By the way, congratulations for this work, and I’m already shivering at how much time I know I will spend playing with these things! :joy:

Yes, I struggled a bit to find the right caption here.

The idea of that tool is to cut down the number of available cue clefs to just those that are common to the part that one is cueing for.

So, for a violin part I would use one instance with only treble and bass clef:

addTool("cue clefs TrBa", {fromLuaLibrary("cycleThroughCueClefsTransposed","_nl._lib.cueing.lua"),{1,4,0}})

For a viola part I would have another instance in my collection, which includes the alto clef:

addTool("cue clefs AlTrBa", {fromLuaLibrary("cycleThroughCueClefsTransposed","_nl._lib.cueing.lua"),{2,1,4,0}})

And for a trombone or cello part I would use yet another:

addTool("cue clefs TnTrBa", {fromLuaLibrary("cycleThroughCueClefsTransposed","_nl._lib.cueing.lua"),{3,1,4,0}})

Using the grouping function, a small set of cue tools could be set up like this:

addTool(group({ "Cueing ",
    {"rhythmic cue"},      {fromLuaLibrary("twoggleRhythmicCue",           "_nl._lib.cueing.lua"),},
    {"cycle octaves"},     {fromLuaLibrary("cycleThroughCueOctaveShifts",  "_nl._lib.cueing.lua"),},
    group({ "cycle clefs (tr.)",
           {"TrBa"},      {fromLuaLibrary("cycleThroughCueClefsTransposed","_nl._lib.cueing.lua"),{1,4,0},  800},
           {"BaTr"},      {fromLuaLibrary("cycleThroughCueClefsTransposed","_nl._lib.cueing.lua"),{4,1,0},  800},                      
           {"TnTrBa"},    {fromLuaLibrary("cycleThroughCueClefsTransposed","_nl._lib.cueing.lua"),{3,1,4,0},800},                      
           {"AlTrBa"},    {fromLuaLibrary("cycleThroughCueClefsTransposed","_nl._lib.cueing.lua"),{2,1,4,0},800},                      
    }),
  })
)

(Caveat: the code above is not tested for syntax errors, I quickly copied it from my personal setup and applied some manual edits to bring it into a more generic form)

2 Likes