I've been playing a bit more with controlling midi hardware with OMPT. I know that there currently isn't any sort of clock send in OMPT or the Midi plugin. Since OMPT is able to sync with enabled VSTs, is it feasible for either OMPT or the Midi plugin to send midi clock data? There are a few events that I can change in the devices internal sequencer that don't have CC mappings for outside control and I think this would be a handy addition.
If this hasn't been asked about before and sounds like something that would be possible, I'll happily drop it in the feature tracker.
I second this one.
That's incredibly funny timing on your side, because I have just implemented that last week and today's OpenMPT 1.26 release will include this new feature in the MIDI I/O plugin.
Nice. Is it already in the latest test build?
Yes, since Thursday evening. ;) I tested it on my own synths and it seemed to work great, even with tempo changes. Arpeggiators stayed rock-solid even after several minutes of playback.
Cool. I have a Korg Electribe EMX1-SD
https://www.youtube.com/watch?v=1SPzc5UC2P4
and a Korg microSAMPLER
https://www.youtube.com/watch?v=9aBaiHGMiow
I'm going to try this with when I have a chance.
I thought about implementing MIDI Song Position Pointer (http://www.blitter.com/~russtopia/MIDI/~jglatt/tech/midispec/ssp.htm) messages as well, but I don't think that I have any device that could do anything with them - I suppose it's more for those synths with a built-in sequencer. MIDI Machine Control (https://en.wikipedia.org/wiki/MIDI_Machine_Control) messages could also be implemented but again I have nothing to test them with. If any of you would have some use for those messages, I'd gladly try to implement them.
I'm not sure if I have any way of testing those, but how about play/continue/stop Song messages? Although if such messages were added, it should be necessary to explicitly enable them.
Play and stop are sent when starting and stopping playback as well as when jumping around in the order list; I do think that they must not be disabled when sending MIDI Clocks, because when stopping playback a synth may go back to synchronizing its LFOs / arpeggiators / etc. to a different time source when no more clock signals are sent.
However, if I am going to add even more timing options, I will probably make them checkable one-by-one.
That's awesome! I've been using the Korg Volca set and an Alpha Juno 2. The Volca Sample hogs a lot of midi channels, so it's easier for me to use it's internal sequencer. I'm excited to try out the new build. Thank you!!!
Just tried it out and it works great!
I'm glad to hear that it works for you. :)
Since you mentioned that you use the internal sequencer, would you be up for a little experiment to test if implementing MIDI Song Position Pointer events would be feasible?
For this test, open the MIDI Macro Config dialog and assign the macro string "F2 z 00" or "F2 00 z". When sending this macro using Z00 to Z7F messages, does the play position in Volca's sequencer jump around?
I tried "F2 z 00" and "F2 00 z" and neither had any effect of the pattern position on the Volcas internal sequencer. I double checked the configuration on the sequencer and it should be set to receive song position data. Let me know if there's anything else you want me to try. I'll be more than happy to test it out.
I confirmed that "F2 z 00" sets the playback position e.g. when sending it to Renoise (in this case, the Zxx parameter specifies the offset in the song in 16th notes). However, the MIDI implementation chart of the Volca Sample suggests that it cannot actually receive Song Position commands.
Maybe it supports MMC commands instead? Try sending this macro: F07F7F064406010000z0000F7 (Zxx parameter = song position in seconds)
Edit: I've attached a module that sets up the MMC command for you already. It will set the song position to 0 seconds, 1 second, 2 seconds... as you can see in the pattern. Be sure to select the correct MIDI device in the MIDI I/O plugin!
Yeah, I think it may be a limitation on the part of the Volca set. I tested mostly on the Volca Beats since the Sample seems to have more issues with midi control than the others. The chart for the Beats seems to indicate it can receive position data as long as the clock source is Auto, which is the default setting for the Beats. I haven't really seen it in action though. I ended up trying all of the macros with the Sample, Beats, Keys and Bass. No luck with the song position sadly. Definitely let me know if there's anything else I can help test.
I don't want to state the obvious, but just to be sure, did you assign the channel on which you sent the Zxx macro to the MIDI I/O plugin? The MIDI implementation chart of the Volca Beats does indeed suggest that it should respond to Song Position Pointers.
Hah, that's a safe question. I'll admit that I am a bit of a midi newbie. The last test I ran was with the file you attached. I have everything running across a Quadra Thru splitter (even bypassed it just to make sure). Keys, Bass and Beats are set on channels 2, 3 and 10 respectively.
With each macro I attempted
-Only Zxx parameter changes in pattern with MPT channel assigned to Midi I/O plugin
-Same as above with added Instrument assignment number to pattern. Instrument linked to Midi I/O plugin and midi channels assigned to each Volca.