When it comes to sending MIDI commands, I will always need to send a burst of them within the first 2 beats of a song's 2 bar count-in. For your average 120bpm song, those 2 beats equates to a 2 second window.
The Lyric sheet format for sending MIDI (https://stagetraxx.com/user-guide/midi/) only provides granularity at Hours:Minutes.Seconds. Most DAWs I've used will go one level of granularity lower than Seconds, to Frames (for SMPTE compatibility) or milliseconds.
I don't like to send a burst of MIDI message all at the exact same time as it can sometimes cause unpredictable results, and so I usually separate them by 100ms, or as I'm usually working in Measures:Beats:Ticks, 50 or 100 ticks (at 480 PPQ).
A common scenario for me is to send 5-6 commands before beat 3 of bar 1 of the 2 bar count in, to correctly set effects devices to the correct patch and parameter settings. If I can only work in 1 second increments, I would have to either send 2-3 on every second, or if I separate each command in 1 second increments, I won't even manage to get all the commands sent during the 2 bar count-in of a song.
Is there any current ability in ST3 (or plans to provide in ST4) a smaller level of time granularity than seconds?
I understand that you can put multiple commands in the same line separated with commas, e.g.
[midi: SS10,PC30@1,PC20.2@2]
I assume that this would at least ensure that the commands are sent in the correct order, with a small gap between?
If so, then I'm guessing the best way to achieve my goal in ST3 today would be to 'batch' a few commands as appropriate in each line, and get them all done in as few lines as possible? E.g.
[midi: CMD1,CMD2,CMD3]
[midi@00:00.01: CMD4,CMD5,CMD6]
[midi@00:00.02: CMD7,CMD8,CMD9]
If I've been unclear, or the scenario is unclear, please let me know and I'll provide more detail.
Thank you!