Skip to content

Commit 5c03b5b

Browse files
committed
Adjustments for Sibelius macro implementation
1 parent 1f8a10e commit 5c03b5b

File tree

3 files changed

+10
-13
lines changed

3 files changed

+10
-13
lines changed

SibeliusConnect.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,13 @@ class SibeliusConnect extends WebSocketClient {
1515
}
1616

1717
onOpen(resolve) {
18-
// reset the message queue so we don't send a bunch of queued commands
19-
// on reconnect, and because we need to send the handshake message first
18+
let savedMessageQueue = this.messageQueue;
2019
this.messageQueue = [];
20+
2121
this._sendHandshake();
22+
23+
this.messageQueue = savedMessageQueue;
24+
savedMessageQueue = []
2225

2326
super.onOpen(resolve);
2427
}
@@ -42,7 +45,7 @@ class SibeliusConnect extends WebSocketClient {
4245
message.plugins = this.plugins;
4346
}
4447

45-
this.send(message);
48+
super.send(message);
4649

4750
if (message.sessionToken) {
4851
// Sibelius doesn't send a response if reconnecting with a sessionToken,
@@ -109,7 +112,7 @@ class SibeliusConnect extends WebSocketClient {
109112

110113
async send(message) {
111114
if (!this.socket) {
112-
await this.connect()
115+
this.connect();
113116
}
114117

115118
try {

customModule.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// const fs = nativeRequire('fs')
21
const path = nativeRequire('path')
32

43
const SibeliusConnect = require('SibeliusConnect.js')
@@ -25,7 +24,7 @@ module.exports = {
2524
}
2625

2726
if (address === '/sibelius' || path.dirname(address) === '/sibelius') {
28-
args.map(arg => {
27+
args.forEach(arg => {
2928
let addr = address
3029
arg = arg.value
3130

@@ -54,13 +53,8 @@ module.exports = {
5453
}
5554
}
5655

57-
return msg
56+
global.SibeliusConnect.send(msg)
5857
})
59-
.reduce(async (a, msg) => {
60-
await a
61-
global.SibeliusConnect.sendMessage(msg)
62-
return new Promise(resolve => setTimeout(resolve, 50));
63-
}, Promise.resolve())
6458
}
6559
else if (address === '/dorico') {
6660
args.forEach(arg => {

session.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1290,7 +1290,7 @@
12901290
"label": "Add Wildcards\nTitle, SubTitle\nComposer, Lyricist\n(macro)",
12911291
"vertical": false,
12921292
"wrap": false,
1293-
"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",
1293+
"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",
12941294
"off": 0,
12951295
"mode": "tap",
12961296
"doubleTap": false,

0 commit comments

Comments
 (0)