Inertia Wheels to OSC Desktop App
This simple open-source desktop application reads the Inertia Wheels API from the Receiver via USB and transmits Pan/Tilt/Roll and Focus/Iris/Zoom data via OSC (Open Sound Control) to the desired IP address and Port.
The secondary purpose of this application is to provide a proof of concept and example code for a desktop application that receives and interprets the Inertia Wheels API.
Because OSC is an open standard, there are many cross-platform plug-in's that enable the Inertia Wheels to interface with various virtual production environments. We have compiled some popular plugins:
Platform | Plugin |
---|---|
Cinema4D | fOSC |
Cinema4D | GripTools |
Unreal Engine | UE4 OSC Plugin (Native) |
Unreal Engine | UE4-OSC (3rd Party) |
Unity | UnityOSC |
Visit NODO Downloads to download
This app comes with a simple GUI that allows you to control:
- Enable/Disable Pan/Tilt/Roll Channels
- Set the format of Pan/Tilt/Roll Data to:
- Raw Integers - The Raw Encoder Data0
- Cumulative Radians - The wheel data in radians that count rotations
- Finite Radians - The wheel data in radians from -1.0f to 1.0f
- Enable/Disable Focus/Iris/Zoom Channels
- Set the format of Focus/Iris/Zoom
- Raw Integers - From 0 to 32767
- Float - From 0.0f to 1.0f
- Set OSC IP Address/Port
- Set Incoming UART Port
In development, we use PyCharm and create a virtual environment using Python 3.7 and the following:
Package | Version |
---|---|
PyQt5 | 5.14.1 |
PyQt5-sip | 12.7.0 |
pyserial | 3.4 |
python-osc | 1.7.4 |
setuptools | 40.8.0 |
To build, we use PyInstaller 3.5
- Open Terminal
cd
into the folder with main.py- Run
pyinstaller --onefile --windowed -i 'icon.icns' --osx-bundle-identifier 'com.nodo.iwosc' --name 'IW-OSC' main.py
- To make the app retina compatible:
- In the newly-created IW-OSC.spec file, add
,info_plist={'NSHighResolutionCapable': 'True'
afterbundle_identifier='com.nodo.iwosc'
- Re-compile with the spec file using:
pyinstaller --onefile --windowed IW-OSC.spec main.py
- In the newly-created IW-OSC.spec file, add
- Open Command Prompt
cd
into the folder with main.py- Run
pyinstaller.exe -w --clean main.py