Why TDMap?
MIDI mapping in TouchDesigner is the kind of job that quietly eats your session. You wire MIDI In CHOPs, scaling, and button logic. You add filtering when values feel jumpy. You remap when the show changes, and you end up rebuilding chains instead of editing a map. Controllers sit on the desk; the network fills with wiring that exists only to translate MIDI. Many of us use hardware less than we could because the setup cost keeps breaking the flow.
TDMap is a single .tox component built to replace that per-control CHOP wiring. Drop it on the project root, click the TDMap button in the top-right of the TD UI, and map from a grid editor that runs inside TouchDesigner. Drag a parameter onto the TDMap button, move a knob on your controller, and the mapping is done. And that's only one way of the many to map parameters, fitting anyone's workflow. No CHOP chain per knob, no expressions holding your parameters hostage. Scaling, button behavior, scripts, optional smoothing, lookup curves and much more live in TDMap, so your visuals can stay separate from whatever is driving it.
Any controller and type
TDMap works with any MIDI controller TouchDesigner already sees. Plug in hardware, configure your device (once), turn on Learn, move your controls, assign parameters. You don't need a preset or a CC spreadsheet.
For common devices, factory layouts ship in the box: NanoKontrol, APC40 MkII, Launch Control family, Arturia MiniLab, Midi Fighter Twister, Intech Studio, and others. Loading one gives you a labeled grid that already matches the controller's knobs, faders, and buttons, so you're assigning parameters instead of figuring out which CC is which. Some integrations go further (for example Intech VSN1 display and LED feedback).
If your controller isn't on the list, you build a layout once, save it to the config library, and reuse it in every `.toe` you open without needing to do the device set up ever again.
Every controller has quirks. TDMap is built around that: generic MIDI works immediately; named device templates are there when you want the faster path.
What you get beyond "it maps"
Scale a rig, not a CHOP network. Run several controllers at once, each with its own grid. Banks swap whole mapping sets on the same hardware when you change songs, scenes, or clients. Drag a whole operator onto TDMap to map many parameters at once. When you rename or move COMPs, retarget updates paths in one step.
14-bit, relative, velocity, and LEDs. High-resolution faders, endless encoders, velocity-sensitive pads, and push-encoders are supported without hassle. Hover mode lets a control drive whatever parameter your cursor is over in TD. When your hardware supports it, button LEDs can follow parameter state.
Pro features: smoothing and pickup so faders don't jump on recall, easing curves, utility buttons (bank switch, reset, randomize, and more), hot-swapping which parameter a knob controls, math between controls (one knob scales another), and a shift-style second assignment on push-encoders. Base license covers full core mapping, banks, scripts on buttons, and the config library. Configs are kept if you upgrade later.
Updates without starting over. Check for updates inside TouchDesigner and install in place. Your mappings, device layouts, and saved library configs stay put. The same layout file can follow you across projects without rebuilding the MIDI wiring each time. While TDMap is already a mature tool, there's still a lot of ideas to be implemented, including gesture recording, OSC mapping, and a multi-functional even more modular redesign.
Try it
- Download + 14-day Pro trial (drop in TD, no sign-in to start): tdmap.functionstore.xyz
- Browser demo (no install): tdmap.functionstore.xyz/demo
- Docs and video walkthrough: tdmap.functionstore.xyz/docs
After you activate once (Patreon or Gumroad), paid tiers run offline for the same machine perpetually, unlimited machines. Details: tdmap.functionstore.xyz/license
If one fader mapped once is all you need, your current setup may be fine. If you've been avoiding MIDI because the wiring tax isn't worth it, or you're running a live rig with multiple controllers and banks, TDMap is aimed at that gap.





