MultiTouchXY gives a rectangle that tracks the x and y positions of up to 11 touches concurrently. You can track more than this at different times in a single widget but only 11 simultaneously.

When outputting OSC each individual touch adds it’s own number to the MultiTouchXY OSC address when it outputs a value. For example, if the MultiTouchXY ¬†address is “/multi” then the address for button 3 in the MultiTouchXY would be ¬†“/multi/3”. For MIDI, the base note or control change number is augmented by the touch number. If you had a MultiTouchXY with four rows and four columns and specified the MIDI note number to be 10, the first touch would output note #10, the second would output note #11 and the 16th would output #26.

Additional JSON Attributes

  • isMomentary – the default is true, which means each touch is deleted when its finger is removed from the screen.
  • maxTouches – the number of touches to be tracked. The default is 1.


  • children – a one dimensional array that holds all the child touches. This property was renamed from touches in v1.1
  • yvalue – the most recent xvalue generated by a touch. This is primarily used in the onvaluechange event handler so that you can change it before the value is outputted. For example, to invert the yvalues you would add the following line to the multitouch widget JSON: “onvaluechange”:”this.yvalue = this.max – this.yvalue”,
  • xvalue – same as above but for x-axis

Simple JSON

     "name" : "multi",
     "type" : "MultiTouchXY",
     "bounds": [0,0,.8,.8],
     "isMomentary": false,
     "maxTouches": 20,
This work is licensed under GPL - 2009 | Powered by Wordpress using a heavily modified version of the theme aav1