IPC (Inter-Process Communications) allows you to send commands between programs to syncronize operations. It does this by listening on a network IP Port Number for incoming messages via a network router (hard wired or wireless ). You can send IPC commands (see command list below) from one program to the other (ex. RunScript 123). This allows you to synchronize audio and video programming with split second timing. The program that receives the command will execute the specified Script. If you run both programs on the same computer, you do not need to be connected to a network.
FSPortal (FreeStyler Portal) is an add-on for Video Mill and Sound Mill. Or it can be run as a standalone solution client on a tablet to run DMX lights only. It serves as a controller/adapter app to pass Commands to the FreeStyler program to operate DMX lights. See the FSPortal product page for details. IPC configuration for FSPortal is identical to that of Video Mill and Sound Mill.
Note: FSPortal is NOT required for direct IPC connections between Sound Mill and Video Mill.
As an example (shown in Figure 2a), you could use SoundMill-1 (or VideoMill-2) to pipe media programming (audio/video) to the stage speaker system or video displays. Plus it can send FSPortal Controller commands to the FSPortal controller to syncronize DMX lights with audio/video. You can also drive the FSPortal Controller from a FSPortal client running on a tablet (Figure 2b). How the system is designed is completely up to you and the IP network available at the venue. There is virtually no limit on the number of systems you can network together.
The following are the basic set-up steps to use IPC.
Menu Locator: Tools > IPC Inter-Process Comms.
The FSPortal Commands accepted by the FSPortal Controller are listed on the Portal Commands page.
Menu Locator: Tools > IPC Inter-Process Comms.
You can manually send an IPC message to a Remote Client. This menu item pops up the Send Adhoc IPC Command dialog (Figure 3a) so you can enter a Command. Sending a message with the MSG command is an easy way to confirm that IPC is started and working on both client programs (you will see an IPC message sent/received on the Media List Editor program status bar). This dialog will stay open to allow you to send multiple commands without having to reopen the dialog each time. Commands tags are case-insensitive (ex. Play, PLAY, play are all accepted) .
You can send multiple commands in one click by separating them with a semicolon (;) as shown in Figure 3a. This is faster and more efficient than sending them separately. All IPC commands sent and received are logged to the IPC Log.
IPC must be Started on both programs for IPC to work. Figure 4 shows the basic configuration used to send a command from one program to another program using the Remote Client profile.
All IPC commands sent and received are logged to the IPC Log. You can encrypt the message traffic that goes across the network. If one client uses encryption , then all remote clients must use encryption which is set in the Automation Options.
In this case, a network router is not required for IPC. Use the standard Loopback IP Address (ie 127.0.0.1) for setup of the IPC clients.
The IPC Client Profile Editor (Figure 5) allows you to configure the Client Profiles. After edits are made, you need to Restart IPC for edits to take effect (Use Start IPC to restart).
Some routers allow you to lock the assignment of a specific Private Network IP Address to a specific computer connected to its network. So when the router is restarted, it will assign the same IP address to that computer. This is a good method to prevent your IPC client profiles from breaking. If the Private Network IP Address for a computer changes by router reassignment, you will need to make changes to your IPC clients to reflect the IP address changes.
For simplicity you should be consistent when assigning Port Numbers to clients. Below are the default values, but if these ports should conflict with another program on your computer, pick different numbers. Valid ports are any number between 49152 to 65535. Here is how to see what ports are in use on your computer.
See previous section "How IPC Works" for an example of how to configure the Origin and Remote clients.
You may find a need to send an IPC command from a third party tool to trigger automation based an external event. The SendTo_UDP Tool is available for this purpose. Any third party tool that can execute a Windows command line (exe program), can use this tool to send IPC commands to SoundMill, VideoMill and/or FreeStyler DMX Portal. (SendTo_UDP - More information and download)
You should always test the IPC connections before show time.
The first time you connect to a new network, the network firewall may pop up a challenge dialog asking you to Allow the program to send network messages. To test the IPC Configuration, first Start IPC on both (all) program instances. Then go to Send Adhoc IPC Command . Send a Ping command to each remote client program and watch for the return message that the Ping was recieved on the remote client. If you don't get a return Msg, IPC on the remote client likely encountered a problem on start up.
There are a few common error messages that may be reported. The Windows error messages may not be obvious in describing the error.
Always check the View IPC Status menu item when errors occur and the program session Log and the IPC Log may also report additional errors that may not show up on the program status bar.
Open a Windows Command Prompt window to run these command line tools. Go to Start > All Programs > Accessories > Command Prompt .
Recommendation: We recommend that you use IPV4 addressing mode unless you have a critical reason to use IPV6. We found no noticible performance difference in our testing of these addressing modes. IPV4 IP Addresses are easier to recognize (fewer characters) so debugging configuation problems will be easier when using IPV4. IPV4 is the default factory setting.
If you change this setting, you will need to edit your clients to set new IP addresses.
IPC will run on both IPV4 and IPV6 networks. You can change the IP addressing mode in the Options (requires a program restart).
Things you don't need to know, but are provided for the extreme techies who want the details.