Can someone point in a direction for where I need to be looking in the MIDIO128 code to try and implement that feature? I poked around in seq.c and midio_sysex.c but I didn’t get especially far. I suspect I may be needing to do something to/with SEQ_PlayStopButton() or scs_config.c, buttonHook()?
My plan was to have MIDIO128 interpret MIDI transport commands (Play, Stop, FFwd, Rew) so I can remotely control it using using transport controls on my MIDI keyboard or a custom control surface.
As a sort of aside, is there enough headroom to backport some CV functions to MIDIO128, say, if I toss out things I don’t need? I’m really only using the MIDI playback and routing functions of MIDIO128. If it could handle some basic CV (say just following MIDI CCs) I could save on space and costs by needing only one CORE.
Reverse code is similar but with a -1 in first parameter:
MUTEX_SDCARD_TAKE;
SEQ_PlayFileReq(-1, 1); // Move to previous file
MUTEX_SDCARD_GIVE;
I think this will work for the Play function.
if( FILE_SDCardAvailable() )
{
if(!SEQ_BPM_IsRunning() ) // If in STOP mode.
SEQ_PlayStopButton();
}
To do the PAUSE function just remove the ! (not) from the check.
I don’t remember what functions may have been declared as STATIC in the .c files but I changed them to suit my needs. At lease this shows you what functions I called to do these things. Hope this helps.
Thanks Pete! That does help a bit, yep! I’ll need to wrap those functions around capturing the SysEx or CC sent from MIDI to invoke those (and, I suppose, filter those events out so they don’t get forwarded back out).