Communicating with Other Apps
ControlMyJoystick can receive triggers from external apps. It can also send commands to an external app when a macro is run. This allows you to extend ControlMyJoystick’s functionality, such as running a macro from your smartphone, or turning on a physical light when a macro is run.
All communication between external apps and ControlMyJoystick is via network UDP protocol. So you need to make sure that the address, port and UDP protocol is allowable in your firewall. If it doesn’t seem to be working, check your firewall.
That is a good question. Since UDP is a stateless or connection-less protocol, it is very fast. UDP also cannot guarantee that UDP packets will arrive in the order in which they were sent, but this shouldn’t be a problem for how we are using it. You really only need to send a single byte to or from ControlMyJoystick, so any lost or out of order packets should be pretty rare. And if it is lost, it isn’t a critical thing..like not nuclear reactor critical at least (please do not interface ControlMyJoystick with nuclear reactors, k?).
Receiving Triggers from External Apps
You can add a ‘UDP’ trigger to a macro. This trigger will fire and run the macro if it receives a user-defined series of data. See the Trigger help for more info on how to configure this trigger and on how to set up the UDP Trigger Server.
Sending Data to External Apps
You can add a ‘Send UDP’ script command to a macro so that when a macro is run, a user-defined series of data bytes is sent to an address and port somewhere on the network. What the receiver of that data does with it is up to the developer of that receiver app. Turn on a light? Play some music? Vibrate my phone? I am sure someone will build something great!
Execute a Batch File
You can run a batch file with the ‘Run File’ script command. Within the batch file you can use any batch command, so you could launch an app, copy a file etc.
Here’s a video showing how to integrate with external apps. This vid is showing an old version, but the setup is the same as in the current version.