Difference between revisions of "Main Page"

From ModWiki
Jump to: navigation, search
m (there's already a Log.txt page! Who knew!)
(Second pass. I think this will hold us for a while. I get this itchy feeling it could be organized a *little* better, but I'm happy enough for now)
Line 1: Line 1:
 
== Monomodular ==
 
== Monomodular ==
  
'''Monomodular''' is a modular environment for using grid-style controllers with Max For Live plugins, as well as a framework for M4L plugin development. It began as a multi-color monome experiment over two years ago. It was designed with live musical performance as its most important goal. It is still under active development, and is being offered as beta, but is being used for both production and performance by its author and many others (you should, too!).
+
First a tiny bit of history: Monomodular began as a multi-color [http://monome.org/devices monome] emulation experiment over two years ago. It was designed with live music performance as its primary goal. So: Monomodular is a modular environment for using (possibly multiple) [[#Supported controllers|supported grid-style controllers]] (APC40, Launchpad, etc.) with (possibly multiple) Max for Live (M4L) plugins (a.k.a. Mods), as well as a framework for M4L plugin development.
  
 +
Monomodular is still under active development, and is being offered as a beta, but it '''is''' being used for both production '''and''' performance by its author and many others (you should, too!).
  
Monomodular is roughly based on a server/client principle, with Monomodular acting as an intermediary between different plugins and grid controllers.
+
Most of the early Mods were ports of popular Max patches or M4L devices designed for use with the monome, but now the release includes many of amounra's own creations (which are not tied to any specific controller). The majority of the existing Mods are for MIDI generation and generative processes, but the Monomodular development framework allows developers to leverage the full power of Live + M4L + Max/MSP. The sky's the limit!
 
 
[This should probably be simplified, with the bulk being moved to a more technical page] The basic idea is that Monomodular offers multiple simultaneous controllers access to multiple simultaneous plugins, and does so in a seamless and transparent fashion. Monomodular stores the states of all its clients, and is capable of interpreting a library of standard functions which are called from each individual control surface type in such a manner so that it does not need to be aware of what kind of control surface is connected to it in order to interpret its calls or correctly format its returns to the receiving component. The type of data its stores is fairly generic and conforms to the monome standard in some ways, but is also fairly arbitrary in that the core can be easily modified to store different types of data to suit the situation (for instance, it has been easily adapted to handle data types and addresses for both the Livid Code and CNTRL:R hardware devices).
 
 
 
 
 
As of version b99, the core of Monomodular is a Python control surface plugin which runs in Ableton Live's proprietary Python environment, contains a basic framework for communicating with [[#Supported devices|several types of hardware]]. It allows communication between up to 5 grid controllers with up to 16 client patches directly from the surface of the controller. It gives basic functionality of navigating and displaying a Monome256 workspace, and provides the base functionality for quickly writing or converting new plugins to work with its format.
 
 
 
 
 
As of version b993, the Monomodular Python script also contains socket functionality which allows it to natively communicate with devices designed to work with monome hardware without any further component needs. It publishes via Bonjour its address and ports, and communicates directly from the Python workings within Live.
 
 
 
 
 
There are many client patches included with the suite. Most of the early patches were ports of popular monome patches, but now the release includes many of amounra's own creations. The majority are for MIDI generation and generative processes, but the capabilities for using Monomodular are only limited by the imagination of the scripter.
 
 
 
 
 
On the MaxMSP side of things, the Monomodular format is largely dependent upon a single javascript object, which can be manipulated in many different ways. In addition to using the prebuilt mods, it offers the capability of creating one's own custom patches easily in MaxforLive and using them within the framework of Monomodular, or adapting patches which you've already built to be used with a grid controller.
 
 
 
  
 
== Installation ==
 
== Installation ==
Line 70: Line 56:
 
== How Monomodular Works ==
 
== How Monomodular Works ==
  
You can read a description of the basic functionality of every Monomodular-enabled control script on the [[How Monomodular Works]] page.
+
Monomodular is roughly based on a server/client principle, with Monomodular acting as an intermediary between the various Mods and  [[#Supported controllers|supported]] controllers.
More detailed information is available at each controller's page.
+
 
 +
As of version b993, Monomodular allows native communication with patches/M4L devices specifically designed to work with monome hardware, without needing anything else, using SerialOSC.
 +
 
 +
You can read a description of the basic functionality of the Monomodular-enabled control scripts on the [[How Monomodular Works]] page.
 +
Each supported controller has its own page with further instructions and tips for usage.
  
====== Supported devices ======
+
====== Supported controllers ======
  
 
*[[How to use the AumPC scripts|Akai's APC 20 and APC 40]]
 
*[[How to use the AumPC scripts|Akai's APC 20 and APC 40]]

Revision as of 09:41, 29 June 2012

Monomodular

First a tiny bit of history: Monomodular began as a multi-color monome emulation experiment over two years ago. It was designed with live music performance as its primary goal. So: Monomodular is a modular environment for using (possibly multiple) supported grid-style controllers (APC40, Launchpad, etc.) with (possibly multiple) Max for Live (M4L) plugins (a.k.a. Mods), as well as a framework for M4L plugin development.

Monomodular is still under active development, and is being offered as a beta, but it is being used for both production and performance by its author and many others (you should, too!).

Most of the early Mods were ports of popular Max patches or M4L devices designed for use with the monome, but now the release includes many of amounra's own creations (which are not tied to any specific controller). The majority of the existing Mods are for MIDI generation and generative processes, but the Monomodular development framework allows developers to leverage the full power of Live + M4L + Max/MSP. The sky's the limit!

Installation

How?

Download the installer and use its "Subversion" button to install the most recent version (recommended):

OSX Installer

Windows Installer

If you are using Windows, you will need to install the command-line subversion tool, SlikSVN (or something else which takes svn commands).

SVN installation is not yet available in b993, so just download the complete Monomodular b993 Content package (which contains installers for Win and OSX), unpack it somewhere convenient, then either double-click the appropriate .amxd for your platform, or drop same into an open Live set.

If you run into trouble, the Installation page contains a few tips and gotchas, as well as a more detailed explanation of how the installer works, for the curious.

What?

The Installer patch is a fairly simple M4L utility which reads information about your Live and Max installations and tries to determine where files should be put on your system. Because Monomodular is not an application in itself, but is instead a collection of scripts and Max patches, it needs to be installed a bit differently than most things. The installer patch gets some information from Ableton's log and the currently running instance of Live. This process is not perfect, however, and under certain circumstances you'll have to locate the correct installation paths manually. The installer will alert you if it is unable to locate something it needs.

If you have a persistent problem with installation, please contact amounra with the specifics, and a copy of Ableton's log.txt, so that the installer can be improved.

The installer installs three main categories of files:

  • Mods
M4L patches which "do stuff" in conjunction with a grid controller. The list is growing, but you can go to the Mods page to learn a little bit about what's currently available. You can also access an information page on this wiki from within the plugin itself by hitting the Help button.


  • Framework Scripts
These are the Python scripts which
  • Allow your grid controller to interact with Live and link to the main Monomodular script.
  • Set up the main Monomodular script, the "hub" which controls interactions among the grid controller, Live, and Mods.


  • Other Stuff
Miscellaneous files which need to be here or there in order for things to work correctly.

Where?

If you need to know where certain files are located, or would like to change some things with the installation, please refer to the Manual Installation page.


How Monomodular Works

Monomodular is roughly based on a server/client principle, with Monomodular acting as an intermediary between the various Mods and supported controllers.

As of version b993, Monomodular allows native communication with patches/M4L devices specifically designed to work with monome hardware, without needing anything else, using SerialOSC.

You can read a description of the basic functionality of the Monomodular-enabled control scripts on the How Monomodular Works page. Each supported controller has its own page with further instructions and tips for usage.

Supported controllers


Building your own Mods


What Comes with Monomodular

The Mods page lists all current mods. It's an evolving work-in-progress instruction and commentary on each plugin, so it's a good idea to check back from time to time for new information.