<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0"
  xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>monome wiki mapd documentation</title>
    <link>http://wiki.monome.org</link>
    <description>more information at http://monome.org</description>
    <image>
      <url>http://wiki.monome.org/attachment/logo.png</url>
      <title>monome wiki</title>
      <link>http://wiki.monome.org</link>
    </image>
    <item>
      <title>h2. 1. overview</title>
      <link>http://wiki.monome.org/view/MapdDocumentation</link>
      <description>h2. 1. overview&lt;br /&gt;&amp;#8230;&lt;br /&gt;&amp;#8230;&lt;br /&gt;here are the mapd extended midi messages&lt;br /&gt;&amp;#8230;&lt;br /&gt;Content was also deleted</description>
      <author>tehn</author>
      <pubDate>Thu, 17 Aug 2006 04:19:28 +0000</pubDate>
    </item>
    <item>
      <title>Each of the widgets also has an option to set it so that mapd sends out osc messages that interpolate between the current and new values. The interpolation occurs over a time-interval defined by the interpolation time (you can only set the interpolation time once you have clicked the initial condition toggle button.</title>
      <link>http://wiki.monome.org/view/MapdDocumentation</link>
      <description>&amp;#8230;&lt;br /&gt;Each of the widgets also has an option to set it so that mapd sends out osc messages that interpolate between the current and new values. The interpolation occurs over a time-interval defined by the interpolation time (you can only set the interpolation time once you have clicked the initial condition toggle button.&lt;br /&gt;&amp;#8230;&lt;br /&gt;Each widget also allows the user to store an initial value for the widget. By clicking the send initial condition toggle button, the initial value will be sent out on load or any time that the current mapping gets turned on.&lt;br /&gt;&amp;#8230;&lt;br /&gt;both press and toggle buttons allow you to send out osc messages when you either press or release a button on the 40h. this is done by leaving either the up or down value for the given widget empty.&lt;br /&gt;&amp;#8230;&lt;br /&gt;[[insert Picture of down_press]]&lt;br /&gt;&lt;br /&gt;&amp;#8230;&lt;br /&gt;&amp;#8230;&lt;br /&gt;&amp;#8230;&lt;br /&gt;&lt;br /&gt;h2. mappings&lt;br /&gt;&lt;br /&gt;mapd allows the user to create mappings. a mapping is a complete set of pages, presets and layout for the 40h. mappings allow the user to switch easily between instruments or song setups. when mappings are switched, all temporary information of the old mapping get cleared away, and all initalization values get sent out.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;h2. pages &lt;br /&gt;&lt;br /&gt;pages allow the user to set the 40h to use multiple different layouts or maps in a single patch. each page contains a number of widgets. when a page gets switched, all the temporary data on the page stays unchanged, and the temporary state of the new page gets recalled. when a page is switched, no information gets sent out. we can think of pages as a way of extending the 40h into multiple levels, allowing us to use more than just 64 buttons to control an instrument (an example would be the pattern and step-sequencer views in 64 step).&lt;br /&gt;&lt;br /&gt;by setting a button down so that it sends the message:&lt;br /&gt;&lt;br /&gt; /system/page pagename&lt;br /&gt;&lt;br /&gt;we can switch between pages on the fly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;h2. presets&lt;br /&gt;&lt;br /&gt;presets store and recall the temporary state of a given mapping. you can add presets using the + button, and remove them with the - button. you store and recall the presets using the S and R buttons. &lt;br /&gt;&lt;br /&gt;by setting a button down so that it sends the messages:&lt;br /&gt;&lt;br /&gt; /system/preset/save presetname&lt;br /&gt; /system/preset/recall presetname&lt;br /&gt;&lt;br /&gt;you can store and recall presets on the fly.&lt;br /&gt;&amp;#8230;&lt;br /&gt;Content was also deleted</description>
      <author>franzson</author>
      <pubDate>Thu, 17 Aug 2006 01:53:58 +0000</pubDate>
    </item>
    <item>
      <title>h2. clearing space on the 40h</title>
      <link>http://wiki.monome.org/view/MapdDocumentation</link>
      <description>h2. clearing space on the 40h&lt;br /&gt;&amp;#8230;&lt;br /&gt;&lt;br /&gt;h2. midi address patterns&lt;br /&gt;&lt;br /&gt;so you want to send midi?  okay, okay, I guess you can send midi, but at least PRETEND you're using open sound control!  I'm going to describe the make-believe osc address pattern and value structure for sending midi, but there are a few things you need to know.  &lt;br /&gt;&lt;br /&gt;mapd let's you select 4 different midi destination to send message to.  these devices can anything connected to your computer or any piece of software that knows how to create a virtual midi endpoint (that's what the 'to Max/MSP1' and 'to Max/MSP 2' devices are that show up when you open Max/MSP).  within an address pattern, these devices are represented by the letters a, b, c, and d.  in the midi setup dialog you can select which device is represented by each letter.&lt;br /&gt;&lt;br /&gt;the second thing you need to know is that mapd lets you send 3 different types of values: integers, floating point decimal numbers, and strings.  when I tell you how to send a certain type of midi message, I'm going say something incomprehensible, like &quot;note on messages must have the following structure:&lt;br /&gt;&lt;br /&gt;&quot;/midi/note_on [device:(string)a-d] [note number:(int)0-127] [velocity:(int)0-127] [channel:(int)1-16]&quot;&lt;br /&gt;&lt;br /&gt;and you're going to know that I want you to write something like:&lt;br /&gt;&lt;br /&gt;/midi/note_on a 60 64 1&lt;br /&gt;&lt;br /&gt;to send out a note_on midi for note number 60 with velocity 64 to device 'a' on channel 1.&lt;br /&gt;&lt;br /&gt;what the hell are you talking about?&lt;br /&gt;&lt;br /&gt;[device:(string)a-d] means that that this place in the address pattern tells mapd what devviice to send midi to and must be an atom of the type string that is one of the following letters: 'a', 'b', 'c', or 'd'.&lt;br /&gt;&lt;br /&gt;[note:(int)0-127] means whatever is in this place in the address pattern tell mapd what midi note number to output.  it must be an integer between 0 and 127, inclusive.&lt;br /&gt;&lt;br /&gt;[velocity:(int)0-127] means whatever is in this place in the address pattern tells mapd what midi velocity to output.  it must be an integer between 0 and 127, inclusive.&lt;br /&gt;&lt;br /&gt;[channel:(int)1-16] means that whatever is in this place in the address pattern tell mapd what midi channel to send the note on to.  it must be an integer between 1 and 16, inclusive.&lt;br /&gt;&lt;br /&gt;got it?  good!  here we go:&lt;br /&gt;&lt;br /&gt;h3. note on&lt;br /&gt;&lt;br /&gt;/midi/note_on [device:(string)a-d] [note number:(int)0-127] [velocity:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/note_on a 60 64 1&lt;br /&gt;&lt;br /&gt;h3. note off&lt;br /&gt;&lt;br /&gt;/midi/note_off [device:(string)a-d] [note number:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/note_off a 60 1&lt;br /&gt;&lt;br /&gt;h3. after touch&lt;br /&gt;&lt;br /&gt;/midi/aftertouch [device:(string)a-d] [note number:(int)0-127] [pressure:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/aftertouch 60 126 1&lt;br /&gt;&lt;br /&gt;h3. control change&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] [controller number:(int)0-127] [controller value:(int)0-127] [channel:1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a 7 127 1&lt;br /&gt;&lt;br /&gt;the midi spec has some special controllers than generally do the same thing on every midi device.  for example, controller number 7 usually controls the volume.  there are also some controller types are actually controlled by two controller numbers.  did you know that on most midi devices you can set a 14bit volume by sending the high 7 bits to controller number 7 and the lower 7 bits to controller number 39?  mapd has some special address patterns to make this easy for you.  they take the form&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] [controller:(string)bank|modwheel|volume...] [value:(int)0-127|(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;here we go!&lt;br /&gt;&lt;br /&gt;h4. bank select (controller numbers 0 and 32)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] bank [value:(int)0-16383] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a bank 1000 1&lt;br /&gt;&lt;br /&gt;h4. modulation wheel (controller numbers 1 and 33)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] modwheel [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a modwheel 0.5 1&lt;br /&gt;&lt;br /&gt;h4. breath controller (controller numbers 2 and 34)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] breath [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a breath .5 1&lt;br /&gt;&lt;br /&gt;h4. foot pedal (controller numbers 4 and 36)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] foot [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a foot .5 1&lt;br /&gt;&lt;br /&gt;h4. portamento time (controller numbers 5 and 37)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] portamento_time [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a portamento_time .5 1&lt;br /&gt;&lt;br /&gt;h4. data entry (controller numbers 6 and 38)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] data [value:(int)0-16383] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a data 1000 1&lt;br /&gt;&lt;br /&gt;h4. volume (controller numbers 7 and 39)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] volume [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a volume .5 1&lt;br /&gt;&lt;br /&gt;h4. balance (controller numbers 8 and 40)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] balance [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a balance .5 1&lt;br /&gt;&lt;br /&gt;h4. pan position (controller numbers 10 and 42)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] pan [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a pan .5 1&lt;br /&gt;&lt;br /&gt;h4. expression (controller numbers 11 and 43)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] expression [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a expression .5 1&lt;br /&gt;&lt;br /&gt;h4. effect control 1 (controller numbers 12 and 44)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] effect1 [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a effect1 .5 1&lt;br /&gt;&lt;br /&gt;h4. effect control 2 (controller numbers 13 and 45)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] effect2 [value:(float)0.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a effect2 .5 1&lt;br /&gt;&lt;br /&gt;h4. general purpose slider 1 (controller number 16)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] slider1 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a slider1 127 1&lt;br /&gt;&lt;br /&gt;h4. general purpose slider 2 (controller number 17)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] slider2 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a slider2 127 1&lt;br /&gt;&lt;br /&gt;h4. general purpose slider 3 (controller number 18)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] slider3 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a slider3 127 1&lt;br /&gt;&lt;br /&gt;h4. general purpose slider 4 (controller number 19)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] slider4 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a slider4 127 1&lt;br /&gt;&lt;br /&gt;h4. pedals (controller numbers 64 through 69)&lt;br /&gt;&lt;br /&gt;there are several standard controllers that are basically just switches that can be either on or off.  for these controllers midi values 0 - 63 are treated as off and midi values 64 - 127 are treated as on.  for the value field mapd treats a 0 as off (outputting midi value 0) and any non-zero integer as on (outputting midi value 127).  so even though for the hold pedal midi value 1 would signal an off, in mapd to signal an on for hold pedal you could write&lt;br /&gt;&lt;br /&gt;/midi/controller a hold 1 1&lt;br /&gt;&lt;br /&gt;h5. hold pedal (controller number 64)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] hold [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a hold 0 1 &lt;br /&gt;&lt;br /&gt;h5. portamento (controller number 65)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] portamento [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a portamento 0 1 &lt;br /&gt;&lt;br /&gt;h5. sustenuto pedal (controller number 66)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] sustenuto [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a sustenuto 0 1 &lt;br /&gt;&lt;br /&gt;h5. soft pedal (controller number 67)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] soft [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a soft 0 1&lt;br /&gt;&lt;br /&gt;h5. legato pedal (controller number 68)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] legato [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a legato 0 1&lt;br /&gt; &lt;br /&gt;h5. hold2 pedal (controller number 69)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] hold2 [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a hold2 0 1&lt;br /&gt;&lt;br /&gt;h4. sound variation (controller number 70)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] variation [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a variation 127 1&lt;br /&gt;&lt;br /&gt;h4. sound timbre (controller number 71)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] timbre [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a timbre 127 1&lt;br /&gt;&lt;br /&gt;h4. release time (controller number 72)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] release [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a release 127 1&lt;br /&gt;&lt;br /&gt;h4. attack time (controller number 72)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] attack [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a attack 127 1&lt;br /&gt;&lt;br /&gt;h4. brightness (controller number 74)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] brightness [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a brightness 127 1&lt;br /&gt;&lt;br /&gt;h4. sound control 6 (controller number 75)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] control6 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a control6 127 1&lt;br /&gt;&lt;br /&gt;h4. sound control 7 (controller number 76)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] control7 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a control7 127 1&lt;br /&gt;&lt;br /&gt;h4. sound control 8 (controller number 77)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] control7 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a control7 127 1&lt;br /&gt;&lt;br /&gt;h4. sound control 9 (controller number 78)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] control7 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a control7 127 1&lt;br /&gt;&lt;br /&gt;h4. sound control 10 (controller number 79)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] control10 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a control10 127 1&lt;br /&gt;&lt;br /&gt;h4 general purpose buttons (controller numbers 80 through 83)&lt;br /&gt;&lt;br /&gt;the general purpose buttons work like the pedals.  a value of 0 is treated as off and midi value 0 is outputted.  any non-zero value is treated as on and midi value 127 is outputted.&lt;br /&gt;&lt;br /&gt;h5. general purpose button 1 (controller number 80)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] button1 [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a button1 0 1&lt;br /&gt;&lt;br /&gt;h5. general purpose button 2 (controller number 81)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] button2 [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a button2 0 1&lt;br /&gt;&lt;br /&gt;h5. general purpose button 3 (controller number 82)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] button3 [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a button3 0 1&lt;br /&gt;&lt;br /&gt;h5. general purpose button 4 (controller number 83)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] button4 [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a button4 127 1&lt;br /&gt;&lt;br /&gt;h5. effects level (controller number 90)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] effects [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a effects 127 1&lt;br /&gt;&lt;br /&gt;h5. tremulo level (controller number 91)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] tremulo [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a tremulo 127 1&lt;br /&gt;&lt;br /&gt;h5. chorus level (controller number 92)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] chorus [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a chorus 127 1&lt;br /&gt;&lt;br /&gt;h5. celeste level (controller number 93)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] celeste [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a celeste 127 1&lt;br /&gt;&lt;br /&gt;h5. phaser level (controller number 94)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] phaser [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a phaser 127 1&lt;br /&gt;&lt;br /&gt;h4. data buttons (controllers 96 and 97)&lt;br /&gt;&lt;br /&gt;data button increment and data button decrement typically cause some registered or non-registered parameter to be either incremented or decremented.  the controller value is ignored for these controller numbers.&lt;br /&gt;&lt;br /&gt;h5. data button incremenet (controller number 96)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] data_button_inc [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a data_button_inc 1&lt;br /&gt;&lt;br /&gt;h5. data button decrement (controller number 97)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] data_button_dec [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a data_button_dec 1&lt;br /&gt;&lt;br /&gt;h4. non-registered parameter (controller numbers 98 and 99)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] nrp [value:(int)0-16383] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a nrp 1000 1&lt;br /&gt;&lt;br /&gt;h4. all sound off (controller number 120)&lt;br /&gt;&lt;br /&gt;all sound off midi messages ignore the controller value, so it's not used in the address pattern value string&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] all_sound_off [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a all_sound_off 1&lt;br /&gt;&lt;br /&gt;h4. all controls off (controller number 121)&lt;br /&gt;&lt;br /&gt;all controls off midi messages ignore the controller value, so it's not used in the address pattern value string&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] all_controls_off [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a all_controls_off 1&lt;br /&gt;&lt;br /&gt;h4. local keyboard on/off (controller number 122)&lt;br /&gt;&lt;br /&gt;works like foot pedal.&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] local_keyboard [value:(int)] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;h4. all notes off (controller number 121)&lt;br /&gt;&lt;br /&gt;all notes off midi messages ignore the controller value, so it's not used in the address pattern value string&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] all_notes_off [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a all_notes_off 1&lt;br /&gt;&lt;br /&gt;h4. omni mode off (controller number 124)&lt;br /&gt;&lt;br /&gt;all notes off midi messages ignore the controller value, so it's not used in the address pattern value string&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] omni_off [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a omni_off 1&lt;br /&gt;&lt;br /&gt;h4. omni mode on (controller number 125)&lt;br /&gt;omni mode on midi messages ignore the controller value, so it's not used in the address pattern value string&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] omni_on [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a omni_on 1&lt;br /&gt;&lt;br /&gt;h4. mono operation (controller number 126)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] mono [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a mono 127 1&lt;br /&gt;&lt;br /&gt;h4. poly operation (controller number 126)&lt;br /&gt;&lt;br /&gt;/midi/controller [device:(string)a-d] poly [value:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/controller a poly 127 1&lt;br /&gt;&lt;br /&gt;h3. program change&lt;br /&gt;&lt;br /&gt;/midi/program [device:(string)a-d] [program number:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/program a 64 1&lt;br /&gt;&lt;br /&gt;h3. channel pressure&lt;br /&gt;&lt;br /&gt;/midi/channel_pressure [device:(string)a-d] [pressure:(int)0-127] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;example: /midi/channel_pressure a 64 1&lt;br /&gt;&lt;br /&gt;h3. pitch wheel&lt;br /&gt;&lt;br /&gt;/midi/pitch_wheel [device:(string)a-d] [pitch bend:(float)-1.0-1.0] [channel:(int)1-16]&lt;br /&gt;&lt;br /&gt;h3. song position pointer&lt;br /&gt;&lt;br /&gt;/midi/song_position [device:(string)a-d] [position:(int)0-16383]&lt;br /&gt;&lt;br /&gt;example: /midi/song_position a 1000&lt;br /&gt;&lt;br /&gt;h3. song select&lt;br /&gt;&lt;br /&gt;/midi/song_select [device:(string)a-d] [song:(int)0-127]&lt;br /&gt;&lt;br /&gt;h3. tune request&lt;br /&gt;&lt;br /&gt;/midi/tune_request [device:(string)a-d]&lt;br /&gt;&lt;br /&gt;example: /midi/tune_request a&lt;br /&gt;&lt;br /&gt;h3. midi clock&lt;br /&gt;&lt;br /&gt;/midi/clock [device:(string)a-d]&lt;br /&gt;&lt;br /&gt;h3. midi tick&lt;br /&gt;&lt;br /&gt;/midi/tick [device:(string)a-d]&lt;br /&gt;&lt;br /&gt;h3. midi start&lt;br /&gt;&lt;br /&gt;/midi/start [device:(string)a-d]&lt;br /&gt;&lt;br /&gt;h3. midi stop&lt;br /&gt;&lt;br /&gt;/midi/stop [device:(string)a-d]&lt;br /&gt;&lt;br /&gt;h3. midi continue&lt;br /&gt;&lt;br /&gt;/midi/continue [device:(string)a-d]&lt;br /&gt;&lt;br /&gt;h3. midi active sense&lt;br /&gt;&lt;br /&gt;/midi/activesense [device:(string)a-d]&lt;br /&gt;&lt;br /&gt;h3. midi reset&lt;br /&gt;&lt;br /&gt;/midi/reset [device:(string)a-d]&lt;br /&gt;&lt;br /&gt;h3. alternate forms of the midi realtime messages&lt;br /&gt;&lt;br /&gt;h4. midi clock&lt;br /&gt;&lt;br /&gt;/midi/realtime [device:(string)a-d] clock&lt;br /&gt;&lt;br /&gt;h4. midi tick&lt;br /&gt;&lt;br /&gt;/midi/realtime [device:(string)a-d] tick&lt;br /&gt;&lt;br /&gt;h4. midi start&lt;br /&gt;&lt;br /&gt;/midi/realtime [device:(string)a-d] start&lt;br /&gt;&lt;br /&gt;h4. midi stop&lt;br /&gt;&lt;br /&gt;/midi/realtime [device:(string)a-d] stop&lt;br /&gt;&lt;br /&gt;h4. midi continue&lt;br /&gt;&lt;br /&gt;/midi/realtime [device:(string)a-d] continue&lt;br /&gt;&lt;br /&gt;h4. midi active sense&lt;br /&gt;&lt;br /&gt;/midi/realtime [device:(string)a-d] activesense&lt;br /&gt;&lt;br /&gt;h4. midi reset&lt;br /&gt;&lt;br /&gt;/midi/realtime [device:(string)a-d] reset&lt;br /&gt;&amp;#8230;&lt;br /&gt;Content was also deleted</description>
      <author>joe lake</author>
      <pubDate>Sat, 03 Jun 2006 01:53:03 +0000</pubDate>
    </item>
    <item>
      <title>[[mapd can be downloaded here =&gt; http://monome.org/file/mapd-0.1.tar.gz]]</title>
      <link>http://wiki.monome.org/view/MapdDocumentation</link>
      <description>[[mapd can be downloaded here =&gt; http://monome.org/file/mapd-0.1.tar.gz]]&lt;br /&gt;&lt;br /&gt;&amp;#8230;&lt;br /&gt;the mapd window is separated into two main fields. &lt;br /&gt;&amp;#8230;&lt;br /&gt;* on the left side there is a virtual monome for selecting buttons to assign to widgets and to monitor button presses and widget status.&lt;br /&gt;* on the right side, preferences retaining to the creation of a widget, or to the behavior of a selected widget becomes visible when needed.&lt;br /&gt;&amp;#8230;&lt;br /&gt;[[insert Picture of mapd main window]]&lt;br /&gt;&lt;br /&gt;&amp;#8230;&lt;br /&gt;mapd allows the user to select a number of buttons on the virtual monome on the left hand side of the mapd window, by either clicking and shift-clicking any number of buttons, or by dragging a square over the virtual monome.&lt;br /&gt;&amp;#8230;&lt;br /&gt;[[insert Picture of widget creation]]&lt;br /&gt;&amp;#8230;&lt;br /&gt;once one or more buttons have been selected on the virtual monome, the right hand side will change to an interface that allows the user to select one of four basic widget types:&lt;br /&gt;&amp;#8230;&lt;br /&gt;[[insert Picture of which widget]]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#8230;&lt;br /&gt;[[insert Picture of shared preferences]]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#8230;&lt;br /&gt;first you define the host address. this is:&lt;br /&gt;&amp;#8230;&lt;br /&gt;* the ip address of the computer that is running the software you are targeting, &lt;br /&gt;* a colon, (:) &lt;br /&gt;* and the port that you are addressing.&lt;br /&gt;&lt;br /&gt;most of the current max patches will respond to localhost:8000. each widget can be set to a different host address. this may not seem important, but that means that you can easily communicate with many different pieces of software at the same time by assigning different ports, and even use a single monome to operate software on multiple computers simultaneously on the same local network by assigning different ip addresses to the different widgets.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;#8230;&lt;br /&gt;the address pattern is the osc message that will be used to identify a message sent over OSC (currently serialio uses /box/press 0 0 1; /box/led 7 0 0; etc...). &lt;br /&gt;&amp;#8230;&lt;br /&gt;one of the lovely things about mapd is that you can use any naming convention that fits OSC (see OpenSound Control) and mapd will check to see if the address pattern is legal. if it isn't, a little yellow triangle will pop up on the right hand side of the address pattern box. if you click on the triangle, a message box with a more detailed error message pops up.&lt;br /&gt;&amp;#8230;&lt;br /&gt;[[insert Picture of yellow error]]&lt;br /&gt;&amp;#8230;&lt;br /&gt;To insert a variable, use $1 and $2 to designate where the variable should fall in the OSC message ($2 is only needed in a two dimensional slider).&lt;br /&gt;&amp;#8230;&lt;br /&gt;By using the same address pattern for more than one widget, a network of widget behaviors can be set up, so that for example one slider will interpolate, a series of radio buttons will assign different values and a second slider will not interpolate but have more steps than the first one, all only by using the same address pattern. play around with this to get a good feel for this feature of mapd.&lt;br /&gt;&amp;#8230;&lt;br /&gt;&amp;#8230;&lt;br /&gt;&amp;#8230;&lt;br /&gt;h2. press button&lt;br /&gt;&amp;#8230;&lt;br /&gt;[[insert Picture of press button]]&lt;br /&gt;&amp;#8230;&lt;br /&gt;the preferences and proposed conventions vary in different ways over the four basic widget types. the press button allows you to set a down value and an up value to send over OSC. let us say that you want it to send out the value 1 when you press it down and the value 0 when you release it. if the host address is localhost:8000 and the address pattern is /rock/lobster, it will send the message /rock/lobster 1 when you press it and /rock/lobster 0 when you release it. &lt;br /&gt;&amp;#8230;&lt;br /&gt;you can enable interpolation by clicking the interpolation toggle button. mapd will send out 10 values a second between ??button down value?? and ??button up value??. if both values are integers, mapd will output a series of integer messages, and if both values are floats, mapd will output a series of floats.&lt;br /&gt;&amp;#8230;&lt;br /&gt;you can set the time that the widget will interpolate over, but the sampling rate is currently hardwired (this might change in the future).&lt;br /&gt;&amp;#8230;&lt;br /&gt;you can delete the widget using the ??delete this widget?? button.&lt;br /&gt;&amp;#8230;&lt;br /&gt;&amp;#8230;&lt;br /&gt;note: in this example, the x and y value of the button is set using fixed coordinates. this is a good convention that the community might want to take note of.&lt;br /&gt;&amp;#8230;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;h2. toggle button&lt;br /&gt;&lt;br /&gt;[[insert Picture of toggle button]]&lt;br /&gt;&lt;br /&gt;the toggle button behaves very similarly to the press button, except you need to push it twice to turn it on and off.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;h2. radio button&lt;br /&gt;&lt;br /&gt;[[insert Picture of radio button]]&lt;br /&gt;&lt;br /&gt;the radio button widget allows the user to set a separate return value for each button in the widget. interpolation is allowed, but as usually, only as long as all values are of the same type (i.e. integer or float). values are assigned by pressing on the corresponding button in the ??edit button?? graphic.&lt;br /&gt;&lt;br /&gt;h2. 1d slider&lt;br /&gt;&lt;br /&gt;[[insert Picture of 1d slider]]&lt;br /&gt;&lt;br /&gt;to create a 1d slider, select a number of buttons on the virtual monome that all belong to the same row or column. you then assign a min and max value for the slider, and mapd will map the steps in-between on the selected buttons. otherwise it works similar to the toggle and press buttons.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;h2. 2d slider&lt;br /&gt;&lt;br /&gt;[[insert Picture of 2d slider]]&lt;br /&gt;&lt;br /&gt;once again there is not a gigantic leap of functionality between the widget preference settings. the main difference with the 2d slider is that each axis of the slider can be assigned to a different host address and a different address pattern. independent ranges can be set for the x and y so that each dimension can send out different values to different programs on different computers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;h2. clearing space on the monome&lt;br /&gt;&lt;br /&gt;when you want to delete a widget, or place a widget where you have previously placed a widget, select the buttons you want to use, and mapd will ask you if you want to delete all widgets that use any button that you have just chosen. yes will delete these widgets. re-select the buttons and assign the new widget.&lt;br /&gt;&amp;#8230;&lt;br /&gt;Content was also deleted</description>
      <author>franzson</author>
      <pubDate>Wed, 31 May 2006 03:27:26 +0000</pubDate>
    </item>
    <item>
      <title>DISCLAIMER: THIS IS A FAST DOCUMENTATION OF MAPD TO GET IT TO YOU ALL FASTER. MORE ACCURATE DOCUMENTATION WILL BE FORTHCOMING WITH SOME PICTURES AND FUN STUFF, AND MAYBE SOME CANDY, CAUSE I LIKE CANDY, AND ICECREAM, AND FRO-YO... (AND MAYBE SOME REAL-WORLD EXAMPLES)...</title>
      <link>http://wiki.monome.org/view/MapdDocumentation</link>
      <description>DISCLAIMER: THIS IS A FAST DOCUMENTATION OF MAPD TO GET IT TO YOU ALL FASTER. MORE ACCURATE DOCUMENTATION WILL BE FORTHCOMING WITH SOME PICTURES AND FUN STUFF, AND MAYBE SOME CANDY, CAUSE I LIKE CANDY, AND ICECREAM, AND FRO-YO... (AND MAYBE SOME REAL-WORLD EXAMPLES)...&lt;br /&gt;&lt;br /&gt;h2. 1. overview of mapd&lt;br /&gt;&lt;br /&gt;the mapd window is seperated into two main fields. &lt;br /&gt;&lt;br /&gt;* on the left side there is a virtual monome for selecting buttons and to monitor button presses and widget status.&lt;br /&gt;* on the right side, dialogs retaining to the behavior of a selected widget or a set of buttons becomes visible when needed.&lt;br /&gt;&lt;br /&gt;h2. 2. adding a widget&lt;br /&gt;&lt;br /&gt;mapd allows the user to select a number of buttons on the monome (on the virtual monome on the left hand side of the mapd window), by either clicking and shift-clicking any number of buttons, or by draging a square over the virtual monome.&lt;br /&gt;&lt;br /&gt;once one or more buttons have been selected, the right hand side will first change to an interface that allows the user to select one of four types of widgets. &lt;br /&gt;&lt;br /&gt;the widget types are:&lt;br /&gt;&lt;br /&gt;* press button&lt;br /&gt;* toggle button&lt;br /&gt;* radio button&lt;br /&gt;* slider (1d and 2d)&lt;br /&gt;&lt;br /&gt;h2. 3. configuring a widget&lt;br /&gt;&lt;br /&gt;once a widget type has been chosen, the right hand side changes to an interface that allows the user to configure the parameters of each widget. all of the widgets share the same basic behavior. &lt;br /&gt;&lt;br /&gt;h3. host address&lt;br /&gt;&lt;br /&gt;first you define the host address. this is the ip address of the computer that is running the software you are targeting, a colon, and the port that you are addressing. most of the current max patches will respond to localhost:8000. each widget can be set to a different host address. this may not seem important, but that means that you can easily communicate with many different pieces of software at the same time without having to filter anything, and even use a single monome to operate multiple computers on the same local network. (we will post a howto on this)&lt;br /&gt;&lt;br /&gt;h3. address pattern&lt;br /&gt;&lt;br /&gt;the address pattern is the osc message that will be used to send information over OSC (currently serialio uses /box/press 0 0 1, /box/led 7 0 0, etc...). you can use any naming convention that fits OSC (see OpenSound Control). mapd will check to see if the address pattern is legal. if  it isn't, a little yellow triangle will pop out to make that clear to us. To insert a variable, you can use $1 and $2 ($2 only needed in a two dimentional slider).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;after this point, each of the four widgets behaves slightly differently.&lt;br /&gt;&lt;br /&gt;h3. press button&lt;br /&gt;&lt;br /&gt;the toggle button allows you to set a down value and an up value to send over OSC. let us say that you want it to send out the value 50 when you press it and the value 3.796 when you release it. if the host address is localhost:8000 and the address pattern is /rock/lobster, it will send the message /rock/lobster 50 when you press it and /rock/lobster 3.796 when you release it. &lt;br /&gt;&lt;br /&gt;the next settings have to do with interpolation. by turning interpolation on, the button will return a number of values between the up and down values over the time defined by interpolation time, 10 times a second (this will be definable later).&lt;br /&gt;&lt;br /&gt;if we set the interpolation time to 1000 ms we should get a list of 10  values from 50 down to 10.&lt;br /&gt;&lt;br /&gt;h3. toggle button&lt;br /&gt;&lt;br /&gt;the toggle button behaves identical to the press button except you need to push it twice to turn it on and off.&lt;br /&gt;&lt;br /&gt;h3. radio button&lt;br /&gt;&lt;br /&gt;coming&lt;br /&gt;&lt;br /&gt;h3. 1d slider&lt;br /&gt;&lt;br /&gt;the 1d slider allows us you to set the min and max range of the slider in a similar way as the on/off messages in the toggle and press buttons. &lt;br /&gt;&lt;br /&gt;if you define two sliders with the same address pattern, and have them interpolate, using each will update the value that the other will interpolate from. we will post examples of this&lt;br /&gt;&lt;br /&gt;h3. 2d slider&lt;br /&gt;&lt;br /&gt;the 2d slider can work either by sending out an address pattern with two arguments for x and y (by using $1 and $2 in the address pattern definition), or by suplying mapd with either a seperate host address or a seperate address pattern for the y value. NOTE! if you split the address patterns, you need to use $1 for the x value in the x address pattern and also $1 for the y value in the y address pattern.&lt;br /&gt;&amp;#8230;&lt;br /&gt;</description>
      <author>franzson</author>
      <pubDate>Tue, 30 May 2006 01:22:42 +0000</pubDate>
    </item>
    <textInput>
      <title>Search</title>
      <description>Search monome wiki's text</description>
      <name>regex</name>
      <link>http://wiki.monome.org/find/Searchpage</link>
    </textInput>




  </channel>
</rss>