Old 01-05-2018, 03:03 PM   #1
mrlimbic
Human being with feelings
 
mrlimbic's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 594
Default OSC -> MMC script?

Has anyone written an OSC to MMC script?

It needs to just support play/stop and also very importantly to locate to a specific frame when stopped, so nudges work.

I've got an external app that supports OSC and I want to sync with REAPER but it ignores locate, so I can't use OSC for it.
__________________
Convert NLE XMLs to RPP.
http://vordio.net
mrlimbic is offline   Reply With Quote
Old 01-05-2018, 04:38 PM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,908
Default

I'm interested in this kind of stuff and I already successfully did some OSCII-Bot scripting, but I fail to understand what you mean by "MMC" and by "locate".

-Michael
mschnell is offline   Reply With Quote
Old 01-05-2018, 04:48 PM   #3
mrlimbic
Human being with feelings
 
mrlimbic's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 594
Default

Quote:
Originally Posted by mschnell View Post
I'm interested in this kind of stuff and I already successfully did some OSCII-Bot scripting, but I fail to understand what you mean by "MMC" and by "locate".

-Michael
MMC is Midi Machine Control
https://en.wikipedia.org/wiki/MIDI_Machine_Control

Basically the issue is that just supporting transport operations such as play, stop, rewind isn't enough awlays. Sometimes you need to move the playhead to a specific place and have another app follow.

For instance using an external video engine app (many support MMC but not OSC). You want nudge operations to also nudge the video player when editing and playback stopped, not only watch the video in sync while playing back.

This is why 'locate to a specific frame' is necessary. So you can seek frame by frame.

So while nudging REAPER sends commands like these.

/frames/str ,s 0:01:02:00

But more typical transport are

/stop ,f 1
/play ,f 0

So to translate REAPER's OSC output into MMC midi messages would be very useful.
__________________
Convert NLE XMLs to RPP.
http://vordio.net
mrlimbic is offline   Reply With Quote
Old 01-06-2018, 04:11 AM   #4
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 2,819
Default

I was trying to sync my video machine with Reaper. But unfortunately Reaper only sends Start and stop, no frame nudging or forward/rewind with picture. I guess as long as Reaper does not support this natively, a OSC -> MMC translation isn't possible.
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is online now   Reply With Quote
Old 01-06-2018, 05:03 AM   #5
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,908
Default

If Reaper does not send the appropriate messages via OSC or Midi, OSCII-Bot is out of luck.

But Reaper dopes feature additional interfaces, such as HTTP/HTML and "Beyond" (via OSC). Here an external program might be able to fetch the appropriate information via Network.

Of course a Reaper extension (DLL done in C) might be another option.

-Michael
mschnell is offline   Reply With Quote
Old 01-06-2018, 07:59 AM   #6
mrlimbic
Human being with feelings
 
mrlimbic's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 594
Default

Quote:
Originally Posted by _Stevie_ View Post
I was trying to sync my video machine with Reaper. But unfortunately Reaper only sends Start and stop, no frame nudging or forward/rewind with picture. I guess as long as Reaper does not support this natively, a OSC -> MMC translation isn't possible.
If you sync with MTC then that happens. Nothing is sent if you just move the cursor. MMC should work but reaper doesn't support it natively.

However I have checked listening to the OSC messages from reaper and it does seem to send a frame update when moving the cursor even when not playing.

So in theory converting to MMC goto/locate messages should work better than using MTC.

Moving the cursor in reaper when project stopped still produces frame updates in OSC.

Code:
06.01.2018 14:56:49 - [9000] /time ,f 3.15286
06.01.2018 14:56:49 - [9000] /time/str ,s 0:03.152
06.01.2018 14:56:49 - [9000] /beat/str ,s 2.3.31
06.01.2018 14:56:49 - [9000] /samples ,f 151337
06.01.2018 14:56:49 - [9000] /samples/str ,s 151337
06.01.2018 14:56:49 - [9000] /frames/str ,s 0:00:03:03
__________________
Convert NLE XMLs to RPP.
http://vordio.net

Last edited by mrlimbic; 01-06-2018 at 08:04 AM.
mrlimbic is offline   Reply With Quote
Old 01-06-2018, 08:10 AM   #7
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 2,819
Default

I didn't know that, that sounds brilliant. I'm still hoping for a native MMC solution, since I'm using the computer keyboard to control the transport and OSC won't work for non MIDI devices.
__________________
My Reascripts forum thread | My Reascripts on GitHub | Stephan Römer - film composer
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:54 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.