Networking
You can now use the app to control multiple devices via a local network.
You will need:
At least two devices with the app installed
A Wi-Fi router, or an ethernet switch to connect the devices.
1: Launch a server:
Find “Launch Server” in the drop-down menu.
The app will ask you to name the server. The default is “Command Server.”
2: Connect a client device:
Find “Connect to Server” in the drop-down menu.
Give your device a name. The device will appear under this name on the server’s screen. (The default is drawn at random from a list of generic names)
The app will search the local network for servers, and display a prompt to connect.
If for any reason this process doesn’t work, you can also connect manually by typing in an IP and port number, found under the server’s name on the server device.
3: Control your device through the server:
The most basic controls are represented as buttons at the bottom of the screen. These are:
Next
Previous
Restart Current Video
Play
Pause
Jump to playlist item number 1-10 (You may have to swipe to scroll the line of numbers depending on your screen size)
By expanding the client display, you can access more controls.
The lower buttons will affect all connected devices that have their ‘active’ box checked.
These controls will only affect the attached client, and include hardware brightness adjustments.
You can also disconnect a client, which is protected under a ‘hold to confirm’ prompt.
If you connect a bluetooth keyboard to the server, then keyboard commands will be sent to all ‘active’ clients, according to the server’s hotkey settings.
You can use these handles to re-order the list of clients by dragging them up and down.
Understanding Network Delay
Notice the blinking green light next to each connected client.
This light is not automated, each blink corresponds to a real ping delivered over the network. This is to provide ongoing assurance that the network is working and commands will be delivered.
If a ping is taking longer than expected to arrive, the light will turn yellow, then finally red, to indicate a missing connection.
Next to the light, you can see an estimate of the last ping’s latency in milliseconds. This is approximately how long it took the network to deliver the command to this client. This is not a rolling average and is calculated for each ping, so by observing this number change you can get a sense of how the network is performing over time.
Adding Network Delay:
By default, client devices will trigger commands as soon as they are received. Due to the somewhat random nature of Wi-Fi signals, this can cause multiple devices to trigger commands at slightly different times. Depending on your network, this effect can range from barely noticeable to unacceptable.
To deal with this issue, you can use the ‘Delay’ button in the top right corner of the server screen.
Set a delay that’s larger than the largest average ping time on your network. This will allow all devices to receive the command before it’s time to trigger it. This should result in more more predictable and synchronous behaviour, with the tradeoff that you must anticipate and send commands a short time before they will actually trigger.
This system depends on all devices’ clocks being closely synchronized. In reality, the clocks of any two devices can commonly differ by several seconds or more. There’s an invisible background process that works to synchronize the clocks of all devices on the network, but the app may need 30-60 seconds after a client is connected to fine-tune the synchronization.
Adding Client Delay:
In the expanded controls of each client, there’s also a button marked ‘Delay.’ This will add a delay to the attached client only.
This is useful if you need devices to trigger in a cascade, or if for some reason one particular device is consistently late or early.