Skip to content

mgieseki/doremotedeck-ts

Repository files navigation

Dorico Remote Deck

A Stream Deck plugin designed to send commands to Steinberg's music notation software Dorico via the WebSocket-based Remote Control API. It is a plain TypeScript variant of Doremote Deck and does not depend on additional shared libraries.

The plugin provides the core button actions to communicate with Dorico but does not include pre-configured Stream Deck profiles, ready-to-use command collections, or button icons.

Current Functionality

The plugin offers the following actions, which can be assigned to Stream Deck buttons.

Connect to Dorico

Starts and stops the connection to Dorico. While the initial connection requires confirmation via a dialog prompt in Dorico, subsequent connections are automatic because the plugin reuses a stored session token. If the Automatically reconnect to Dorico option is enabled in the button properties, the plugin will attempt to reconnect in the background without requiring a button press. Once Dorico is running, the connection is automatically established within a few seconds.

Connect to Dorico

Send Command

Sends a specific command, like Edit.ShowAccidental, to Dorico. To my knowledge, there is currently no official documentation for the available Dorico commands. However, you can use the demo applications included with Doremote to browse and test the commands retrieved through the API.

Dorico's macro recording feature, accessible via the Script menu, is another great way to get familiar with the syntax. The generated Lua script contains all the necessary commands to reproduce your recorded actions. Please note that the available command set may vary depending on your Dorico version and edition (SE, Elements, Pro).

In the button settings, enter the command and its parameters into the designated text field. Parameters are appended after a question mark (?) in any order and must be separated by commas (,) or ampersands (&), with no spaces in between. For example:

UI.InvokePropertyChangeValue?Type=kNoteAccidentalVisibility_v3,Value=kRoundBrackets
Send Command

Send Multiple Commands

Similar to the previous action, this one allows you to send a sequence of multiple commands to Dorico. Commands are entered into the property inspector's text area and must be separated by semicolons and/or newlines. If Dorico returns an error for any command in the sequence, execution stops immediately, and the remaining commands are not sent.

Send Multiple Commands

Installation

To install the plugin, just download the latest release from here and double-click on the file. Now the new category Dorico Remote Deck and the three button actions should appear in your Stream Deck application.

Build Requirements

If you want to build the plugin on your own, you need to have Node.js and the Stream Deck SDK installed.

Build Instructions

  • Clone this repository.
  • Install the dependencies and build the plugin:
    cd doremotedeck-ts
    npm install
    npm run build
    streamdeck bundle com.mgieseking.doremotedeck.sdPlugin

Disclaimer

Dorico is a registered trademark of Steinberg Media Technologies GmbH in the European Union, United States of America, and other countries, used with permission. This project is not affiliated with Steinberg Media Technologies GmbH in any way.

About

Stream Deck plugin for sending commands to Dorico

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors