A simple to use - plug-n-play - midi controller learning system for Max/MSP projects
Switch branches/tags
Nothing to show
Clone or download
Cannot retrieve the latest commit at this time.
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
code
media
patchers
README.md
max-midi-learn.maxproj

README.md

max-midi-learn

A simple to use - plug-n-play - MIDI learning system for Max/MSP projects.

max-midi-learn

Features

  • Supports all enabled MIDI devices
  • Supports routing of multiple MIDI controllers to a single object in Max/MSP
  • Supports single MIDI controller to control multiple objects in Max/MSP
  • Intuitive graphical interface for hiliting objects in Max to arm them for learning
  • Supports persistent storage of learned assignments

How to use from a user's perspective

  • Enable MIDI learn mode
  • Mouse-click on an object in your Max/MSP GUI to hilite the object and arm it for MIDI learn.
    • An item hilited pink has no current assignments
    • An item hilited green has a current assignment
    • Items can have multiple assignments

Example of an item hilited and ready for controller input max-midi-learn

  • Once an item is hilited and recieves MIDI controller input, this assignment is saved and the item is unhilited.
  • An item that is hilited with green already has a controller assigned to it, however, it is possible to assign multiple controllers to a single object.

max-midi-learn

  • If multiple items are hilited and a MIDI controller value is registered, this object will respond to multiple MIDI controllers

max-midi-learn

  • Shift clicking on any green hilited object will remove all currently stored assignments

Note: Persistance is automatic (i.e., saving to disk is automatic)

How to use from a developer's perspective

max-midi-learn

The MIDI learn system is encapsulated into a single Max patcher and a javascript file. The included project shows an example of how this patcher can be used.

This implementation requires that your project use the Max/MSP pattr system, specifically the pattrstorage system. All objects that are recognized by the pattstorage system are automatically included in the midi learn system.

The inputs of the midilearn object inputs are as follows:

  • MIDI learn mode on/off (0/1)
  • MIDI on/off (0/1)
  • Output of your pattrstorage object
  • Assigned hilite color
  • Unassigned hilite color
  • logging mode on/off

The output of the midilearn object must be connected to the input of your pattrstorage object