-
Notifications
You must be signed in to change notification settings - Fork 0
Home
It lets you run Dorico commands, recorded macros, action sequences, and custom Lua code with a button press. The goal is simple: spend less time digging through menus or remembering shortcuts, and more time working on the music.
You are not tied to dedicated hardware, either. DoriDeck can be used from any phone or tablet that can run the Macro Deck client, and you can also open your deck in a web browser. An old phone on your desk can work just as well as a dedicated button controller.
There are already several good ways to use a Stream Deck or similar controller with Dorico. DoriDeck takes a slightly different approach, with an emphasis on flexibility and building your own workflows.
A DoriDeck button can call a Dorico command or recorded macro directly.
You do not have to assign a keyboard shortcut in Dorico before the command can be used. This is especially handy for commands you only use occasionally, or when you are running out of sensible key combinations.
Of course, you can still add a keyboard shortcut to the same Macro Deck button when that is useful. DoriDeck actions can live alongside keyboard input and actions from other extensions.
Note: There is no need to switch between the Setup, Notation, Engrave and Playing views when using DoriDeck commands. Commands are executed regardless of the currently active view. For example, you do not need to switch to Engrave mode to insert a system break or move measures to the next or previous system.
Macro Deck allows multiple actions to be assigned to a single button, so you are not limited to one Dorico command at a time.
For example, one button could:
- Select all music in the current flow.
- Filter the selection to dynamics.
- Delete the selected dynamics.
- Switch to another profile or folder.
You can mix DoriDeck commands and macros with regular Macro Deck actions, keyboard shortcuts, delays, profile changes, and actions provided by other extensions.
This makes it possible to build complete little workflows instead of creating a separate button for every individual step.
Commands, recorded macros, and custom actions can be run across all flows in the current project.
This is useful for project-wide cleanup tasks, such as removing a particular type of notation, updating repeated settings, or applying the same operation to every movement or song.
Enable Apply to all flows in the action settings, and DoriDeck will go through the flows and run the selected action in each one.
This appears to be a fairly unusual feature among the currently available Dorico controller tools. I have not found another publicly documented controller that offers a general “run this action in every flow” option.
As with any project-wide automation, save your project before running an unfamiliar action across all flows.
Replace every occurrence of one dynamic with another across the entire score with a single button click.
For example, replace all mp with mf or portato with marcato. Demo
The Insert Lyrics action lets you prepare and insert lyrics directly from the clipboard. It can automatically divide words into syllables and paste the resulting lyrics at the currently selected position in Dorico — there is no need to enter each syllable one by one.
Three operating modes are available:
-
Syllabify and Insert Syllabifies the text currently stored in the clipboard, then immediately inserts it into Dorico at the selected position.
-
Syllabify Only Syllabifies the clipboard text without inserting it. The processed text remains available for later use or for manual insertion into Dorico.
-
Insert Only Inserts the lyrics currently stored in the clipboard into Dorico with a single button press (you need manually prepare the text).
The target lyric line can be selected in the action configuration. It can also be specified directly in the clipboard text by adding a token in parentheses, such as:
(Verse 1)
(Verse 2)
(Chorus)
To assign multiple words to a single note or exclude some words from syllabification, wrap it in brackets: "(words with space or hyphen)". Demo
Insert reusable rehearsal marks that combine an enclosed rehearsal letter with custom section text underneath, such as “VERSE,” “CHORUS,” or “BRIDGE.” A DoriDeck action can automate the repeated setup and make commercial chart section headers with one click. Demo
Respell the selected note enharmonically with a single button-shortcut press—for example, change F♯ to G♭. Demo
Create a piano version of a choir score using cues in one click.
Usage: Select the rest on the top piano staff and press the action button; extend the cues as needed. Demo
Advanced users can save raw Lua code directly inside an action.
The Lua code can include values taken from:
- Macro Deck variables
- User-defined variables
- Dorico-related variables
- Values entered specifically for that button
This means one script can be reused with different settings instead of creating a separate script for every variation.
You can start with a small Dorico command, paste in part of a recorded macro, or build a more advanced Lua action with injected values.
A few examples:
- Run a frequently used Dorico command without assigning a shortcut.
- Trigger one of your recorded Dorico macros.
- Run a sequence of commands from a single button.
- Remove dynamics or slurs from every flow.
- Keep only the top or bottom notes of selected chords.
- Force stems up or down.
- Insert system or frame breaks.
- Open Engraving, Notation, or Layout Options.
- Replace all "mp" (or any other) dynamics with "mf".
- Add commonly used dynamics, playing techniques, ornaments, or text.
- Combine Dorico actions with keyboard shortcuts and other Macro Deck extensions.
- Run reusable Lua actions with values supplied by the button.
- Automatically syllabify clipboard text and insert it into a selected verse or chorus lyric line.
- Respell Note — Change a selected note to its enharmonic equivalent with one press.
- Create Pickup Measure — create a pickup measure with one click. Demo
- Custom Rehearsal Marks — Insert section headers such as Verse, Chorus, or Bridge.
DoriDeck runs through Macro Deck on a Windows computer, but the controller itself does not have to be a Windows device. You can use a phone, tablet, another computer, or a web browser to access your deck.
This means you do not need to buy a dedicated Stream Deck or similar controller. A spare phone or tablet can become a practical Dorico control surface.
Keep the following in mind:
- Dorico and the Macro Deck server must be running on the Windows computer.
- The controlling device must be able to connect to the Macro Deck server.
- Some commands depend on the installed Dorico version or edition.
- DoriDeck uses an unofficial Dorico API through Dorico.Net.
- Internal commands may change, stop working, or be disabled in a future Dorico update.
- Recorded macros are limited by the actions Dorico exposes to its scripting system.
- Automated actions can make large changes very quickly.
It is a good idea to save or back up your project before testing new command sequences, Lua scripts, or all-flows actions.