Hi everyone!
I’ve set up a MIDI controller switch that sends a custom OSC message in AbleSet containing all the configuration settings I want for all devices. The idea is that, with one button press, all connected devices instantly receive the same view settings and layout.
Here’s the full message:
/devices/lock all;
/devices/unlock Phone,MBP;
/devices/showPage all lyrics;
/devices/showPage Phone,MBP performance;
/devices/setSetting all performance.showSongInfo true;
/devices/setSetting all performance.showDescription true;
/devices/setSetting all performance.showSection true;
/devices/setSetting all performance.showTags true;
/devices/setSetting all performance.showSongTags false;
/devices/setSetting all performance.showNextSection true;
/devices/setSetting all performance.showNextSectionDescription false;
/devices/setSetting all performance.showTempo true;
/devices/setSetting all performance.showTimeSignature true;
/devices/setSetting all performance.showGlobalQuantization false;
/devices/setSetting all performance.showDuration true;
/devices/setSetting all performance.showRemainingDuration true;
/devices/setSetting all performance.showSongProgress true;
/devices/setSetting all performance.showSectionNames false;
/devices/setSetting all performance.showSectionProgress true;
/devices/setSetting all performance.showTimecode true;
/devices/setSetting all performance.showClock false;
/devices/setSetting all performance.showPosition false;
/devices/setSetting all performance.showPositionBeat true;
/devices/setSetting all performance.showQuickPlay false;
/devices/setSetting all performance.showTrackGroups false;
/devices/setSetting all performance.showLyrics false;
/devices/setSetting all performance.showSetlist false;
/devices/setSetting all performance.showNext true;
/devices/setSetting all performance.showRemaining true;
/devices/setSetting all performance.showAudioInterfaces false;
/devices/setSetting all performance.showMetronome true;
/devices/setSetting all performance.showRecordButton true;
/devices/setSetting all performance.showLoopButton true;
/devices/setSetting all performance.sectionColors true;
/devices/setSetting all performance.showPlayAudio12 false;
/devices/setSetting all setlist.hideRemovedSongs false;
/devices/setSetting all setlist.scrollToCurrentSong true;
/devices/setSetting all setlist.showSongAndSectionNumbers true;
/devices/setSetting all setlist.showTimeSignature true;
/devices/setSetting all setlist.showGlobalQuantization false;
/devices/setSetting all setlist.autoExpandCurrentSong true;
/devices/setSetting all setlist.showSectionNames false;
/devices/setSetting all setlist.showRemainingTime true;
/devices/setSetting all setlist.showAudioInterfaces false;
/devices/setSetting all setlist.showRecordIndicator true;
/devices/setSetting all setlist.showMeasureJumpButtons false;
/devices/setSetting all lyrics.showRecordIndicator true;
/devices/setSetting all lyrics.showLoopToggle true;
/devices/setSetting all lyrics.showPlayButton true;
/devices/setSetting all lyrics.showNextSong true;
/devices/setSetting all lyrics.flipVertically false
I’ve tested this and it seems to work — all the devices receive the settings properly and update instantly.
But I wanted to ask, is it a bad practice to send such a long OSC message (51 commands ) all at once?
Could this approach cause problems or delays depending on the number of messages and/or devices?
Would you recommend a different strategy?
Thanks so much!