You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+66-18Lines changed: 66 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -18,30 +18,78 @@ Once the session is running, pressing any of the buttons will initiate the hands
18
18
19
19
Enjoy!
20
20
21
-
## Adding Custom Buttons
21
+
## Adding Custom Buttons (Sibelius)
22
22
23
23
1. Enable the `Editor` by selecting the 3 dots menu > Editor > Enabled (checked) OR by pressing Cmd/Ctrl + E
24
24
2. Add a button by right clicking on the canvas > Add Widget > Basics > add button
25
-
3. Set the following properties for the button:
26
-
-`button`
27
-
-`on`: enter one of:
28
-
- (Sibelius) a comma-separated list of Command IDs
29
-
- (Sibelius) a plugin name (executing the plugin's default Run() method) **
30
-
- (Sibelius) a plugin JSON object to execute arbitrary plugin methods **
31
-
- (Dorico) a Dorico JSON message or an array of Dorico JSON messages
32
-
-`osc`
33
-
-`address`: enter one of:
34
-
-`/SibeliusConnect/command` if sending Command IDs
35
-
-`/SibeliusConnect/plugin` if invoking a plugin **
36
-
-`/SibeliusConnect` if sending a raw Sibelius Connect JSON message (per the [Sibelius Manuscript Reference Documentation](https://resources.avid.com/SupportFiles/Sibelius/2024.10/ManuScript_Language_Guide.pdf])) ***
37
-
-`/DoricoRemote` if sending a request to Dorico
38
-
-`send`: `localhost:8080`
39
-
40
-
_** NOTE: if executing Sibelius plugins, the plugin name **MUST** be added to the SibeliusConnect websocket instance in `customModule.js` BEFORE starting OpenStageControl, i.e.:_
25
+
3. There are a variety of methods for sending commands to Sibelius (assuming `localhost` with default port `8080`):
| Command or Plugin (raw JSON) | A raw SibeliusConnect JSON object |`/sibelius`|`localhost:8080`|
36
+
37
+
>_** NOTE: if executing Sibelius plugins, the plugin name **MUST** be added to the SibeliusConnect websocket instance in `customModule.js` BEFORE starting OpenStageControl, i.e.:_
- Commands/plugins can be combined into an array or semicolon-separated string. For example, [Bob Zawalich's **Add Wildcards Title Subtitle Composer Lyricist** macro](https://bobzawalich.com/wp-content/uploads/2021/08/Some-Current-Sibelius-Command-Macros.pdf)
45
+
- Also set `osc > address: /sibelius` and `osc > target: localhost:8080`
46
+
47
+
`button > on` (as an array - can mix implicit command/plugin strings and raw SibeliusConnect JSON objects):
"plugin:cmdutils,MessageBox_cu,\"Please fill in the Score Info fields for the title, subtitle, composer, and lyricist, then click the Ribbon Home tab.\"",
61
+
"command:score_info"
62
+
]
63
+
64
+
_NOTE: Some characters need to be escaped due to javascript syntax. Backslashes always need to be escaped (i.e. `\\` will result in `\` when the message is actually sent). Single quoted strings will automatically be converted to double quoted strings (with proper double quote escaping, as above)_
plugin:cmdutils,MessageBox_cu,"Please fill in the Score Info fields for the title, subtitle, composer, and lyricist, then click the Ribbon Home tab.";
79
+
command:score_info
80
+
81
+
- Implicit AND Explicit commands/plugins can also be sent as a macro using the built-in `/SibeliusConnect` macro builder. This is done by setting the widget's:
82
+
83
+
`value > linkId: >>sibelius`
84
+
85
+
It has the following benefits:
86
+
- Negates the need to set the widget's `osc > address` or `osc > target`
87
+
- Ability to reference other widget's addresses that also send Sibelius Connect command/plugin mesages (i.e. `command:voice3;/filterRests`, where the `filterRests` widget sends its own command/plugin message)
88
+
46
89
## Additional Notes
47
90
The `ws` NPM package is bundled with this custom module to negate the need for having NPM installed.
91
+
92
+
## Roadmap
93
+
-[ ] Cleanup interface
94
+
-[ ] Fix reconnect websocket issues
95
+
-[ ] Allow other OSC apps to send websocket messages via the custom module
"plugin:cmdutils,MessageBox_cu,\"Please fill in the Score Info fields for the title, subtitle, composer, and lyricist, then click the Ribbon Home tab.\"",
"on": "plugin:cmdutils,GoToFirstBar_cu;\nplugin:cmdutils,TextStyleDefaultForCommands_cu,\"text.system.page_aligned.title\";\nplugin:cmdutils,Add_Text_cu,\"\\$Title\\\";\nplugin:cmdutils,TextStyleDefaultForCommands_cu,\"text.system.page_aligned.subtitle\";\nplugin:cmdutils,Add_Text_cu,\"\\$Subtitle\\\";\nplugin:cmdutils,TextStyleDefaultForCommands_cu,\"text.system.page_aligned.composer\";\nplugin:cmdutils,Add_Text_cu,\"\\$Composer\\\";\nplugin:cmdutils,TextStyleDefaultForCommands_cu,\"text.system.page_aligned.lyricist\";\nplugin:cmdutils,Add_Text_cu,\"\\$Lyricist\\\";\ncommand:goto_selection_start;\nplugin:cmdutils,MessageBox_cu,\"Please fill in the Score Info fields for the title, subtitle, composer, and lyricist, then click the Ribbon Home tab.\";\ncommand:score_info",
0 commit comments