You haven't really seen what M1 really can do if you haven't used it
with some MIDI controls.

Here's how it's done:

- first, you need some MIDI controller. For now, it has to be one
  that has the old-style MIDI connectors, not USB-MIDI. I used a
  Korg Kaossilator Pro.

- next, you need to define which of the controller functions you
  want to map to variables for your patch. This is done in the M1's
  control panel, Interfaces > MIDI > Controller mapping.

  "midi1" through "midi8" are the variables you can set. The value
  on the right side is the controller number. E.g., in for my
  Kaossilator, I assigned

  midi1 12      (touch pad, X axis)
  midi2 13      (touch pad, Y axis)
  midi3 91      (gate arpeggiator slider)
  midi4 94      (program volume knob)

  This is for using the Kaossilator both as an instrument and as a
  MIDI controller. If I had switched it to be only a controller, I
  would have had more controls to play with and some of the numbers
  would have changed.

- you can now use Patches > Variable monitor to see how the controls
  affect the midi1 ... midi4 variables. Each gets assigned a value
  between 0 to 1, corresponding to the setting of the control. (MIDI
  transmits values from 0 to 127.)

- finally, you need to modify a patch to use the MIDI variables.
  I took a simple one, "Geiss - Tornado", and made the following
  tweaks:

  1) per_frame=t=time+midi2*100;

     and then changed all the wave_<color> settings to use "t"
     instead of "time". This way, I can modulate the color by moving
     along the Y axis on the pad.

  2) per_frame=rot=midi1*2;

     I put this after the last assignment to "rot", effectively
     overriding it. Now rotation is entirely under my control, with
     no rotation when touching the pad on the left edge, and rapid
     spinning on the right edge.

  3) per_frame=move_x=0.5+midi3/5;

     This controls the distance of the point being drawn from the
     center. With rotation, this becomes the radius at which things
     appear. I assigned it to the slider.

  4) per_frame=zoom=0.9+midi4/5;

     This controls how quickly we "travel into" the image. I
     assigned it to the volume knob.

  Don't forget to save under /ssd/ :)

Next, hours fly past, exploring the interactions ...

- Werner
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode

Reply via email to