open-source utilities and extras for Max/MSP
[ start | index | login ]

README

Created by nick. Last edited by nick, 45 days ago. Viewed 196 times. #4
[diff] [history] [edit] [rdf]
labels
attachments
OVERVIEW

shado is a compositing and sprite library for the monome. It is written in Java, but designed to be dynamically scripted in a language like Python and hosted in MaxMSP (or Pluggo, for VST plugins). The common usage scenario is to install shado alongside our Java Python interpreter in a MaxMSP system, and drive it via Python scripts triggered and controlled by MaxMSP messages.

The file README.MANUAL will eventually be the manual for shado; for now, it contains an explanation of the shado architecture - quite possibly, along with the examples, just about enough to start writing shado "programs".

See README.RELEASES for information about releases, and any API changes.

INSTALLATION

This package contains the core shado library, plus a copy of the net.loadbang OSC (Open SoundControl) library, plus all sources and javadocs. If you are a hardcore Java developer as well as a monome user, this might be all you need, but it's more likely that you will want to run MaxMSP and use Python as your scripting language.

(NB: we have used Max 5 for our example patchers. Since most of the work is in Python, and since the script systems also run under Max 4, we've back-ported the "simple" demo patcher to Max 4.)

For Python, you need the net.loadbang.jython package:

>>http://www.loadbang.net/space/Software/net.loadbang.jython

Feel free to opt for the Groovy interpreter instead, but all our example scripts are in Python, and we marginally prefer it as a language: it's slightly clearer to read, and it has generators and list comprehensions, which are very well suited to building sequencers and musical algorithms.

shado now makes some use of net.loadbang.lib so we now include it here. This library is also used by the Jython and Groovy packages. We need net.loadbang.lib-1.4; older releases of Jython and Groovy have

or earlier, so discard these versions.

The net.loadbang.jython release comes with its own example patcher and a pile of scripts, so it may be a good familiarisation exercise to explore these before working with shado proper.

Once you have installed net.loadbang.jython as per its instructions, copy the enclosed JAR files (net.loadbang.osc-[...].jar and net.loadbang.shado-[...].jar) into the Cycling '74/java/lib directory (or modify max.java.config.txt to include the appropriate directory). Be sure to remove old or obsolete versions.

Copy the files in the examples/ directory into Max's search path. (If you are using the free Max Runtime, copy them into a directory inside the MaxMSP application directory.)

GETTING STARTED

Try to get the examples in the "simple" directory up and running. Since shado uses OSC, you will need to run MonomeSerial in OSC mode.

If your monome is on the same machine as Max, and you use a prefix "/shado" with the default OSC ports, then the example patcher (max5/simple.maxpat) and its scripts should run unaltered (although the examples assume a monome sixty four). Fire up the patcher, select the name of a script from the tabs, turn on the metros, and push some monome buttons.

If you want to configure anything, edit the file config.py and change the declarations at the top. All the examples use this module to build the OSC renderer.

Change the "udpreceive" statement in the Max patcher if you want to listen on a different OSC port. (If you don't have a Max 5 license, you can edit the .maxpat file directly in a text editor.)

More detailed documentation will be coming soon. In the meantime, look at the file README.MANUAL: it contains an overview of shado's architecture and components, and should have enough fragments of Python code to get you started. Peruse the javadocs for more detail.

This release contains all the Python scripts and the patcher for the Gerry Anderson UFO demo - the system is called "tapestry". If you feel brave, have a poke around.

ISSUES

We're not yet using our OSC library for input - it needs a tidy-up - so button press events are currently captured in Max and routed into the system via Python. (This makes it a bit tricky to kick off a shado program standalone from a console, although this is definitely one of our aims.)

LICENSE

This software is issued under the terms of the GNU General Public License (see COPYING). NOTE: the other loadbang.net libraries are issued under the GNU Lesser General Public License, but the shado library has a more restrictive (or, if you prefer, "more free") license in that the library cannot be used in proprietary programs - we regard shado as a component of artistic expression, and do not feel that proprietary use fits with this philosophy.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see >>http://www.gnu.org/licenses/ .

CONTACT

Nick Rothwell, nick@cassiel.com / nick@loadbang.net

no comments | post comment



< September 2008 >
SunMonTueWedThuFriSat
123456
78910111213
14151617181920
21222324252627
282930

XHTML 1.0 validated
CSS validated
RSS 2.0 validated
RSS Feed

Contact: Nick Rothwell

Powered by SnipSnap @VERSION@

Open Source Java and UI Software for MaxMSP

shado-small

The shado compositing and sprite library for the >>monome.


jython-logo

The Python programming language embedded in MaxMSP/MXJ


groovy-50

The Groovy programming language embedded in MaxMSP


small_powered_by

A Jetty-based embedded web server for MaxMSP, with JSP support


hsqldb

SQL database support, using HSQL or Apache Derby (embedded), or MySQL


nixie

Nixie tubes for Max


buttonsx

Rotating, alignable, colourable, assignable, pattr-aware arrays of text


Legacy Software

snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt