Sync two machines/two instances of Millumin

Hello

I can see this question has been asked before, but I can't seem to find a clear answer.

I am trying to build a slave of my Millumin main setup on a back up computer.  Do I have to write an OSC command for each of the things I'm doing?  Or is there a way to just slave the two easily?  Any tutorials on how to set this up?

Thanks!

Comments

  • edited May 30
    Hello @alexcz,

    The easiest solution would be to synchronize column launch.
    As Millumin can send OSC feedback on such event (launching a column), you could catch this OSC message on your second computer, and launch the very same column accordingly : to do so, use for example the application Chataigne (to receive the OSC message, and send back another OSC order back to your second computer).

    You would need to use the following OSC messages :
    • /millumin/board/launchedColumn     (coming from the first computer)
    • /millumin/action/launchColumn     (going to the second computer)


    Alternatively, you could use the mini-application SimpleSync to send a simple OSC message (such as "/millumin/action/launchNextColumn") to your 2 computers. See image below.

    Best. Philippe
  • Hello @alexcz

    You can also use Lemur, to achieve this. 
    Create one Lemur customButton and assign two osc targets (one by Millumin instance). 
    Then create a script triggered on expression with parmeter 'x'
    The script should look like this for column 2: 

    oscout(0,'/millumin/action/launchColumn',{2});
    oscout(1,'/millumin/action/launchColumn',{2});


    Hope it helps 

    Regards 


    --
    AntoineM*

  • I use octopus control software from a laptop to trigger multiple Millumin machines. It works great. It can also generate a web based interface so you can use a mobile device or tablet as the control device.
  • I can second Octopus. This is a great tool for making advanced triggers for all types of scenarios involving Millumin as well as almost any other device. If you need to always sync them together you can setup Millumin "B" as a backup/sync to Millumin "A" so they always roll together. Otherwise, you can specify the sync rolls on each preset.

    Octopus is really tough to track down, here is a direct link to their download site.
  • This looks really useful, do you have any tips setting up?
  • edited June 9
    Yes - there is no help file in the current version of Octopus and it isn't inherently obvious how to use. Here are some general tips:
    • You can use Octopus on either the local machine or across a network.
    • Make sure you know the IP of the machine(s) you want to control.

    Adding Devices

    A device can be software or hardware. There are a number of pre-defined software and hardware models within Octopus. Millumin is not listed, so we will use a generic OSC device.

    To add a device:

    • Enter the "edit" mode. If you are in this mode there will be a dialogue that looks like an "inspector" window. If you don't see it go to "Octopus" menu and click "mode" or command-R.
    • Under "properties" in the inspector, click on the devices tab.
    • Click "new" and select a standard OSC device for Millumin.
    • Call it "Millumin B"
    • Enter the IP and the port number.
    • Create another OSC device with the IP of your other Millumin instance and call it "Millumin A".
    • If you want to roll them together always go to the backup/sync section of Millumin A and add Millumin B.

    Creating a preset/trigger

    • In the inspector, click on the presets tab.
    • Select Millumin A as the device.
    • The command should be of type 'integer'
    • In the address section, type the OSC command. For example: `millumin/action/launchColumn`
    • In the value column enter the column you want to launch, i.e.: `1`
    • Click "add" under the preset list section.
    *If you have other devices you want to trigger in this same command, repeat the process for the other devices.
    *There is no need to add Millumin B as a separate device because we already declared it to sync to Millumin A.
    • Enter a name in the 'preset name' field
    • Click "new" under the preset name field. This will add it to your control panel.

    Testing & Running

    • When editing or creating a preset, you can test it by clicking the "run" button on the top-right of the inspector
    • To exit the editing mode and attain regular command of your preset panel, toggle your mode so the inspector is gone. You can also use command-R. Then click on the desired preset.

    Sample File

  • Hi, I am using Octopus to control Millumin 2, but the OSC command docs I've found in the forum all look like incomplete examples (including the wiki).  

    So, hence my question:  Is there an actual, complete - definitive list somewhere that someone can post a link to?   

    Some of the tasks I'm looking to do with via Octopus:

    I'd like to use a global command that shuttles to the last 30, 20 or 10 of any currently playing video, NOT 1 set for each column of playback. 

    i'd like to create a global "stop" playback or "KILL" command that works regardless of which column is playing, not 1 for each column.

    I've been digging around online, but can't seem to find the complete list of syntax for this.

    If anyone can point me at some reference material, I'd really appreciate it.  Also, I'm happy to help anyone who needs help using Octopus.  Just lemme know if you have a specific question - but the Michael Voccola's directions are spot on and work for me.  - - THANKS Michael - -

    Cheers'


    Jason
  • edited June 10
    Hello @Jason_Vaughan,

    The complete OSC documentation of Millumin is here.
    More specifically :

    • A command that shuttles to the last 30, 20 or 10 of any currently playing video, NOT 1 set for each column of playback
      It doesn't exist. But indeed, there are an OSC message to control the playhead of a specific layer (by index or by name).

    • A global "stop" playback or "KILL" command that works regardless of which column is playing, not 1 for each column
      The OSC message "/millumin/action/stopColumn" is doing so.
      No need to add a parameter saying which column to stop : there is always only one column launched at a time (if you add one, it's be ignored anyway).

    Best. Philippe
  • Question about sync for @Millumin:

    If we are doing a widescreen show with projector output requirements which exceeds the available outputs on a single machine (like a single screen that is four 4K projectors blended), what is the recommended method for triggering the multiple machines that would be needed to drive that blended screen while remaining in frame-lock with each other?

    Let’s assume we are using graphics cards which support genlock to take that out of the equation. We need all instances to not only play in frame-sync with each other, but also be on the same frame of the video file. Is there a triggering method that is recommended for this approach? IE: DMX, UDP, or something else that you have available in the lab? I want to make sure that if we need to do this that there is no mis-match where the outputs of each machine meet up when a video crosses multiple machines.

    We would also be doing the actual blend and data-double within a video processor like e2, so the different machines would be exactly lined up nex to each other with the processor itself.
  • Hello @michaelvoccola,

    You can use the mini-application SimpleSync, but it only sends an order simultaneously, not synchronizing every frame.
    However, we're working on timecode (LTC at first) support, and a beta version will be available in the next weeks.

    Best. Philippe
  • edited June 22
    I have Octopus and Millumin loaded on the same computer.  Can Octopus control Millumin while both programs n share the same computer?
     


  • @thomasd I built some presets in octopus using midi to trigger millumin, this was on the same machine. I couldn't figure out how to get octopus to receive an input from my midi controller to then trigger the presets.
Sign In or Register to comment.