DMX
Drive fixtures through a USB DMX adapter, one universe per adapter, and read DMX coming in.
DmxSendInterfaceDmxReceiveInterfaceFiles, protocols, gear and the other apps on your desk. Find yours, see which part of Kinematic talks to it, then go make something with it.
Nothing here matches that. Try a file ending, a brand or a protocol, or ask us about it.
What opens, what saves, and what comes along with it.

Models, scenes, scans, characters, terrain and simulation caches.
| Format | Opens | Saves | What comes along | Nodes |
|---|---|---|---|---|
| Models and scenes | ||||
| glTF.gltf .glb | Opens | Saves | Meshes, PBR materials, textures and the scene tree. Save one binary .glb or one text .gltf. |
3DGeoImportGLTF3DGeoExportGLTF |
| FBX.fbx | Opens | Saves | Materials, cameras, lights and instancing come in. Rigged models keep their bones, weights and takes. Save with the axes set for Unreal, Unity, Blender or Maya. |
3DGeoImportFBX3DGeoExportFBX |
| USD.usda .usdc .usdz | Opens | Saves | Meshes, materials, cameras, lights and point instancers come in. Scenes save as .usda text. Splat clouds and rigged characters also save as .usdc, or as one .usdz package for Apple devices and Omniverse. |
3DGeoImportUSD3DGeoExportUSD |
| Alembic.abc | Opens | Saves | Meshes and subdivision cages come in as polygons. Save one frame or a whole animated cache in the standard layout Blender, Maya and Houdini read. |
3DGeoImportABC3DGeoExportABC |
| OBJ.obj .mtl | Opens | Saves | Quads and n-gons stay whole, and the .mtl file beside it comes along. |
3DGeoImportOBJ3DGeoExportOBJ |
| PLY.ply | Opens | Saves | Meshes, point clouds and splat clouds, with vertex color. |
3DGeoImportPLY3DGeoExportPLY |
| STL.stl | Opens | Saves | The 3D printing format. Binary and text files open, and it saves binary. Triangles only, no UVs or color. |
3DGeoImportSTL3DGeoExportSTL |
| Mesh sequencesnumbered .ply .obj .stl .glb .spz | Opens | Saves | Record a moving mesh one file per frame, then play it back. |
3DGeoSequenceWrite3DGeoSequenceRead |
| Splats and scans | ||||
| SPZ.spz | Opens | Saves | Small splat files that load back fast. |
3DGeoImportSPZ3DGeoExportSPZ |
| Splat.splat | Opens | Saves | The small format web viewers read. It keeps the base color and drops the color that changes with the view. |
3DGeoImportSplat3DGeoExportSplat |
| SOG.sog or a folder | Opens | Saves | Very small splat files that web viewers open directly. |
3DGeoImportSOG3DGeoExportSOG |
| ksplat.ksplat | Opens | Does not save | Opens files saved at compression level 0. |
3DGeoImportKsplat |
| COLMAPbinary or text solve | Opens | Does not save | Camera positions, lens framing and the sparse point cloud from matching your photos. |
3DGeoImportCOLMAP |
| Characters and motion | ||||
| Rigged characters.glb .gltf .fbx .usd .vrm | Opens | Saves | Mesh, bone weights, skeleton, shapes and takes in one step. VRM avatars go to VTuber apps such as VRoid Hub and VSeeFace. |
3DGeoRigCharacterImport3DGeoRigCharacterExport |
| BVH.bvh | Opens | Saves | Plain motion capture that every animation tool reads. Match a take onto a skeleton you already have. |
3DGeoRigClipFromFile3DGeoRigClipExport |
| C3D.c3d | Opens | Does not save | Labeled markers, analog channels and events from Vicon, Qualisys, OptiTrack and most gait labs. |
3DGeoRigMarkersFromFile |
| Terrain and simulation | ||||
| Heightmaps.png .tif .raw16 .exr | Opens | Does not save | Bring a heightmap in, then erode it, paint it and scatter on it. |
3DGeoHeightfieldFile |
| Unreal landscape16-bit PNG and layer masks | Does not open | Saves | Height and weight masks in the layout Unreal's landscape importer expects. |
3DGeoHeightfieldUnrealExport |
| Unity terrain.raw16 and splat PNGs | Does not open | Saves | Unity's 16-bit terrain format, with splat maps and a small file that names the layers. |
3DGeoHeightfieldUnityExport |
| Terrain tileschunked .obj or .fbx | Does not open | Saves | A big landscape split into tiles, one file per chunk. |
3DGeoHeightfieldMeshExport |
| Terrain mapsPNG | Does not open | Saves | Normal, AO, slope, curvature and splat maps baked in one go, the set a game engine wants. |
3DGeoHeightfieldTextureExport |
| OpenVDB.vdb | Does not open | Saves | Bake fire and smoke to standard VDB frames that other 3D apps load. |
3DGeoFluidCacheWrite |
Stills, sequences, float images, layers, looks and color.
| Format | Opens | Saves | What comes along | Nodes |
|---|---|---|---|---|
| PNG, JPEG, WebP.png .jpg .jpeg .webp | Opens | Saves | Save one still, a numbered sequence, or one file that keeps updating for other apps to read. |
InputImageFileOutputImageFile |
| TIFF and BMP.tif .tiff .bmp | Opens | Saves | Opens and saves both. |
InputImageFileOutputImageFile |
| EXR and HDR.exr .hdr | Opens | Saves | Full float, for HDR skies and linear renders. |
InputHDRImageFileOutputImageFile |
| Layered EXR.exr | Opens | Saves | Color, masks, depth and IDs in one file. PNG, TIFF and JPEG keep the main layer. |
ImageLayerReadImageLayerWrite |
| GIF, QOI, TGA.gif .qoi .tga | Opens | Does not save | GIF and animated WebP open their first frame. Use a video file for motion. |
InputImageFile |
| Image sequencesnumbered PNG, JPEG, TIFF, EXR, HDR, WebP | Opens | Saves | Play a folder of numbered pictures as a clip, with loop, ping-pong and scrubbing. |
InputImageSequenceOutputImageFile |
| Color LUTs.cube | Opens | Saves | Load a look from your grading tool, 1D or 3D, and save your own. |
InputImageLutFileOutputLutFile |
| OpenColorIO.ocio .ocioz | Opens | Does not save | Change color space, apply a look or view through a display. The ACES config is built in. |
ImageOpenColorIO |
Play files in, record takes out.
| Format | Opens | Saves | What comes along | Nodes |
|---|---|---|---|---|
| MP4, MOV, MKV, WebM.mp4 .mov .mkv .webm | Opens | Saves | Picture and sound together. Record takes, and split long ones into segments. |
InputVideoFileOutputVideoFile |
| AVI.avi | Opens | Does not save | Opens and plays, picture and sound. |
InputVideoFile |
| Codecs to record withH.264 H.265 VP9 ProRes MJPEG FFV1 | Does not open | Saves | H.264 and H.265 can use your machine's hardware encoder. FFV1 in MKV is lossless. 10-bit for HDR. |
OutputVideoFile |
Audio files and MIDI files.
| Format | Opens | Saves | What comes along | Nodes |
|---|---|---|---|---|
| WAV, FLAC, MP3, OGG.wav .flac .mp3 .ogg | Opens | Saves | Play a file into the graph, or record to one with tags, pauses, length limits and file splitting. |
InputAudioFileOutputAudioFile |
| AAC.aac | Opens | Does not save | Opens and plays. |
InputAudioFile |
| AIFF.aiff | Does not open | Saves | Uncompressed, like WAV. |
OutputAudioFile |
| MIDI files.mid | Opens | Saves | Standard MIDI Files, format 0 and 1. Split by channel into one track each on the way out. |
MidiFileLoadMidiFileSave |
| MIDI 2.0 streams.ump .midi2 | Opens | Does not save | Raw MIDI 2.0 packets, translated so they play like any other clip. |
MidiFileLoad |
Drawings and fonts.
| Format | Opens | Saves | What comes along | Nodes |
|---|---|---|---|---|
| SVG.svg | Opens | Saves | Read an SVG file and keep drawing on it, or save your drawing out. A 3D mesh can flatten into a line drawing too. |
FileReadSvgFromStringSvgToStringFileWriteGeometryToSvg |
| Fonts.ttf .otf | Opens | Does not save | Set type in your own fonts, flat on a picture or extruded into 3D. |
TextRenderToImage3DGeoTextExtrude |
Tables, text, lighting plots and fixture profiles.
| Format | Opens | Saves | What comes along | Nodes |
|---|---|---|---|---|
| Tables.csv .json .csv.gz .csv.zst | Opens | Saves | Load a table or a set of channels, and write them back out. Compressed CSV unpacks on the way in. |
TypedDataFileInTypedDataFileOutChannelDataFileInChannelDataFileOut |
| Text.txt and any text file | Opens | Saves | Read a text file, or write and append to one, like a show log. |
FileReadFileWrite |
| MVR.mvr | Opens | Saves | Lighting scenes with fixtures and their positions, for a console or a visualizer. |
DmxMvrImportDmxMvrExport |
| Fixture profiles.gdtf | Opens | Does not save | Point a fixture at a GDTF file. More than 1,500 profiles from GDTF and the Open Fixture Library come with the app. |
DmxFixtureMap |
| Patch reports.csv or a page to print | Does not open | Saves | A fixture list for the crew, as a spreadsheet or a clean page to print. |
DmxPatchExport |
Light, sound, video, time and data, over cables and networks. Most of them work both ways.

Drive fixtures through a USB DMX adapter, one universe per adapter, and read DMX coming in.
DmxSendInterfaceDmxReceiveInterfaceMany universes over the network. Find devices, keep universes in step, and send triggers.
ArtNetSendInterfaceArtNetRecvInterfaceArtNetPollArtNetSyncStreaming DMX over the network (E1.31), with per-address priority.
SAcnSendInterfaceSAcnRecvInterfaceSAcnPerAddrPrioReceivePerformer tracking and camera tracking from the systems already in the room.
DmxPsnReceiveDmxFreeDReceiveDmxDisguiseTrackingNotes, CC, NRPN, pitch bend, SysEx and MPE, to and from any MIDI device.
MidiCaptureInterfaceMidiSendInterfaceMidiPolyExpressionInReads MIDI 2.0 packets and plays them like any other MIDI. Ask a device what it can do over MIDI-CI.
MidiFileLoadMidiCiProbeRTP-MIDI (AppleMIDI) and ipMIDI carry MIDI between computers with no cable. Works with the network sessions in macOS Audio MIDI Setup.
MidiRtpSessionMidiIpMidiOpen a port other apps on this computer can play into and listen to.
MidiVirtualPortFollow a drum machine's tempo, start and stop, or send the clock yourself.
MidiClockInMidiClockOutFire cues on consoles and playback systems, and drive transports.
MidiShowControlOutMidiShowControlInMidiMachineControlOutMidiMachineControlInRead SMPTE timecode off an audio track and lock the show to it.
LtcDecoderMidiLtcDecodeDmxTimecodeChaseRead and send MIDI Time Code for video decks and DAWs.
MidiTimecodeInMidiTimecodeOutChase timecode from the lighting network, or be the clock everyone else chases.
ArtNetTimecodeReceiveArtNetTimecodeSendSend and receive over UDP, or over TCP for apps like QLab. Move a fader in another app to learn its address.
OSCReceiveOSCSendPublish values so other apps can find and drive them, and browse what other apps offer.
OSCQueryExposeOSCQueryClientCall a web API with GET, POST or another method. The graph keeps running while it waits for the reply.
HTTPRequestHTTPPostRun a WebSocket server, or connect to one, and trade messages both ways.
WebSocketServerInterfaceWebSocketClientInterfaceFire a webhook, or open a URL that fires a cue when something calls it.
WebhooksSendWebhooksServerInterfaceUSB serial adapters and dev boards: read a sensor, send text, or ask a question and wait for the answer.
SerialSendInterfaceSerialReceiveInterfaceSerialRequestSend and receive video and sound over the network. Swap a source mid-show while the receivers stay connected.
StreamingNDIReceiveInterfaceStreamingNDISendInterfaceStreamingNDIRouteShare frames with other apps on the same Mac.
StreamingSyphonReceiveInterfaceStreamingSyphonSendInterfaceGo live on YouTube, Twitch or Facebook Live, as H.264 video with AAC sound.
StreamingRtmpSendPull an IP camera's picture in, or serve your output to VLC, a security DVR or a kiosk player.
StreamingRtspReceiveStreamingRtspSendPlay an HLS stream in, live or from the start, or write a rolling playlist that players can open.
StreamingHlsReceiveStreamingHlsSendTake a performer from a motion tracking app, send your character to one, or drive a VR avatar's body trackers.
3DGeoRigMocapReceiveInterface3DGeoRigStreamSendCameras, controllers, consoles and switchers, on a cable or across the network.

Built-in and USB webcams. Capture cards that show up as a webcam, such as Blackmagic UltraStudio, work the same way.
VideoCaptureInterfaceOrbbec Astra, Gemini and Femto through the Orbbec SDK, with color, depth and IR. RealSense-style cameras on Linux.
DepthCameraCaptureInterfaceGrab a whole monitor, one window or a region of the screen.
DisplayCaptureInterfaceReady-made maps for these controllers, plus General MIDI for sound modules. Pick yours in Window > MIDI > Profile Library and every knob and fader maps in one press, with LED feedback where the controller has lights.
Plug in a keyboard, pads or a control surface, then move a knob to map it to anything in the graph.
MidiCaptureInterfaceMidiLearnRead the pads over USB and light them back in your own colors.
PushSurfaceSticks, triggers and buttons as live values, with a dead zone you set.
GamepadInputGive any key its own trigger, and read where the mouse is and which buttons are down.
KeyboardInMouseInputFire cues from the graph over OSC. On an Eos or a grandMA3, set levels and type on the command line too.
DmxEosOscClientDmxMa3OscClientDmxHog4OscClientUSB adapters such as the Enttec DMX USB Pro and DMXking ultraDMX. More than 1,500 fixtures in the Profile Library, and room for your own.
DmxSendOperationDmxFixtureMapThe original, Mini, XL, Plus and MK.2 over USB, with tally on the keys. Or run one through Bitfocus Companion. A MIDI controller's pads can stand in for one.
StreamingStreamDeckSurfaceStreamingMidiSurfaceDmxOscControlFollow what is on program and preview on a Blackmagic ATEM or in vMix, and light the tally to match.
StreamingAtemClientStreamingVmixClientStreamingTallyControlPan, tilt and zoom over NDI, VISCA over IP or ONVIF, and presets over NDI or VISCA.
StreamingPtzControlRecord from a microphone or a sound card input, and play out to your speakers.
AudioCaptureInterfaceAudioPlaybackInterfaceAnything on a serial port: a sensor on a dev board, a lab balance, a receipt printer. The device list updates when you plug one in.
SerialDevicesSerialReceiveInterfaceSerialRequestServe a touch page from the graph that any phone can open, or drive the show from TouchOSC.
DmxRemoteEndpointOSCReceiveHand work to the other apps you use, and take theirs in.

Tempo, beat and bar into the graph. Fire clips and scenes, ride device knobs and follow the selection. Uses the free AbletonOSC script.
AbletonLiveLinkAbletonClipFireAbletonDeviceParameterLoad your synths and effects, play them from MIDI and save presets. Run a plugin in its own process so a crash leaves the show running.
PluginHostSend terrain in the layouts their importers expect, and save FBX and rigged characters with the axes set for each.
3DGeoHeightfieldUnrealExport3DGeoHeightfieldUnityExport3DGeoRigCharacterExportTrade scenes through FBX, USD, glTF and Alembic. Pick the app's axis preset and models come in standing up, at the right size.
3DGeoExportFBX3DGeoExportUSD3DGeoExportABCScenes go out as USD text. Rigged characters and splat clouds also pack into one .usdz file.
3DGeoExportUSD3DGeoRigCharacterExportTake a performer from VSeeFace, Warudo, VNyan or SlimeVR over VMC, or send your character to them.
3DGeoRigMocapReceiveInterface3DGeoRigStreamSendLive Link Face, iFacialMocap, Facemotion3D, VTube Studio and MeowFace drive a character's face from a phone.
3DGeoRigMocapReceiveInterfaceSave .splat or SOG files that web viewers open directly.
3DGeoExportSOG3DGeoExportSplatTrade video with them over NDI, or over Syphon on a Mac, and send OSC to Resolume.
StreamingNDISendInterfaceStreamingSyphonReceiveInterfaceOSCSendLet QLab cues fire scenes, looks and lights over OSC on TCP.
OSCReceiveBuild a control surface on a tablet, or drive Stream Decks through Bitfocus Companion.
OSCToFloatDmxOscControlBring looks in as .cube LUTs, save your own, and work inside an OpenColorIO config.
InputImageLutFileOutputLutFileImageOpenColorIOLoad a table from CSV, and hand the crew a patch list they can open anywhere.
TypedDataFileInDmxPatchExportPython inside the app, a command line for batch runs, and HTTP or WebSockets for everything else.
PythonScriptNodeHTTPRequestWebSocketServerInterfaceBetter to know now than at load-in. Something missing that you need? Reach out.
Free. No account, no license key. macOS, Windows, Linux and Raspberry Pi.