The main purpose of this project is to create a Windows DLL providing C functions to communicate with the music notation software Dorico over its WebSocket interface (Dorico Remote Control API). The current version is primarily a proof of concept and implements only a small portion of the API.
To test the functions of the DLL, this project also provides a simple GUI application and a command-line program which allow for sending commands to Dorico. The following videos show short sessions with both demo applications.
doremote-qt.mp4
doremote-cl.mp4
Another application of the library is the Stream Deck plugin Doremote Deck. It provides actions for sending commands to Dorico which can be assigned to Stream Deck buttons. The commands are not hard-coded but must be entered into corresponding text fields of the property inspector. This way you can assign any of the Dorico commands or command sequences to as many Stream Deck buttons as you like and create your own collections and layouts.
The core library is developed in C++20 using Boost.Beast to implement the WebSocket communication. Thus, a recent version of Boost must be accessible by the build environment. Since the coroutine implementation of Boost.Beast does not currently seem to support MinGW (GCC or Clang), I recommend using the free Community Edition of MS Visual Studio.
If you'd also like to build the demo applications, Qt (Community Edition) and replxx are required as well.
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.