x42 / xjadeo

X JAck viDEo mOnitor: a tool that displays a video clip in sync with an external time source (jack-transport, LTC and MTC). Applications include: soundtrack composition/editing, video monitoring and -installations.
http://xjadeo.sf.net/
GNU General Public License v2.0
41 stars 7 forks source link

MMC Locate support #23

Open mrlimbic opened 6 years ago

mrlimbic commented 6 years ago

I'd like to use xjadeo as a video slave but MTC is not enough to make it useful. MTC only works during playback.

For editing, scrubbing and moving the cursor in other ways while the project is not playing back also needs to work. The norm for idle states is for the master app to send MMC locate messages when the cursor moves, so the correct still frame is shown.

Can you please add this? It would make xjadeo much more useful for editors.

Here are some MMC locate details..

http://www.somascape.org/midi/tech/spec.html#rusx_mmcc

mrlimbic commented 6 years ago

Actually I've just been sending MMC locate midi to jadeo and it does seem to support it. But the documentation doesn't say so. It only mentions MTC.

x42 commented 6 years ago

Xjadeo does honor MMC goto/locate commands which are usually part of a MTC source if it's SMPTE.

https://en.wikipedia.org/wiki/MIDI_Machine_Control#Goto/Locate (F0 7F 7F 06 44 06) is handled as well as a shorter format sent by some Roland devices: https://github.com/x42/xjadeo/blob/master/src/xjadeo/midi.c#L121

Other MMC commands are ignored, since xjadeo does not have an internal clock, so play/pause/rewind etc won't be useful.

mrlimbic commented 6 years ago

It might be worth adding mention of MMC locate to the docs. I was convinced it didn't after reading them. It only mentions MTC.

mrlimbic commented 6 years ago

PS If you are curious I've just written a JSFX plugin (called MMC locate) for REAPER DAW that sends MMC locate when not playing back, so that scrub and move cursor works as expected. So now can use Jadeo as external video engine for REAPER. Available through Reapack.

https://github.com/mrlimbic/reascripts

x42 commented 6 years ago

Cool! Do you mind if I also add a link to the Reaper script in the manual?

mrlimbic commented 6 years ago

That's fine the script is here. I'll make a walkthrough video soon for setting it up.

https://github.com/mrlimbic/reascripts/blob/master/JSFX/MMC%20locate.jsfx

It is generally easier for reaper script users to use the reapack package manager as updates are much easier to cope with. A reapack repo is just a github with an index file. Mine is reapack compatible.

https://reapack.com/