Hey @RichardB,
I’ve split your feature request off into a separate thread so we can discuss it there. I just released AbleSet 2.4.0 which exposes a bunch of useful objects on the global ableset
object.
Apart from the ones I mentioned in my previous post, I’ve added getSocket
which returns an instance of a socket.io socket in the given namespace. For example:
// Listen to all events
ableset.getSocket("setlist").onAny((event, data) => console.log(event, data));
// Listen to specific event
ableset.getSocket("global").on("songTime", (time) => console.log(time));
The following sockets are available:
global
setlist
lyrics
ablenet
playaudio12
timecode
settings
midiMapping
This also de-duplicates sockets so for example, all instances of the global
socket use the same underlying connection. This should reduce the required bandwidth and load on the network.
I hope this helps and look forward to your feedback!