Examples I've posted to the Max/MSP mailing list.

CollSeq Real time note sequence record and playback using coll and borax.
requires the rcoll abstraction, which can be found on this page.

DragonDrop An example that illustrates some simple drag and drop techniques.
FungibleData Here's an example of copying data back and forth between many of Max's "bulk storage" data types. Max 5 only.
FileExists The question of how to query whether a file exists came up recently. Here's an abstraction that does just that, as well as a test file that uses it. Max 5 only.
rcoll
rcoll (Max 4)
rcoll is an abstraction wrapped around coll. It implements a "referring coll", that never holds data itself, but always refers to a coll that lives elsewhere. The Max rules for dealing with coll data are consistent, but they've gotten me into trouble more times than I care to admit.
Monomish Some of the goals behind Monomish were suggested by someone on the Max mailing list, and I decided it was sort of an interesting problem, so I took a whack at it. Basically it's another matrixctl pulse sequencer, but with the ability to offset each track in the sequencer in time. Apparently this feature can be enjoyed with some piece of Monome software, hence the name. Max 5 only.
NewThump NewThump consists of a bunch of experiments I did while exploring the new timing world of Max 5. It's not really too useful as is, but it illustrates a couple useful techniques, I think. For Max 5 only. (slight revision 4/29/08, with a minor bug fix, and more gratuitous transparency)
PattrKitty PattrKitty tries to show that it's really quite simple to use pattr for a simple storage system. The pattr world has many more features than I illustrate here, but hopefully this shows that for simple storage, pattr is like a fluffy little kitty. Last modified 6/28/08
MouseKeys
MouseKeys (Max 4)
MouseKeys uses keyslider, but enhances it to play a note for as long as you are still holding the mouse button down, sending a note-off when you release the mouse. The issue it addresses is that keyslider doesn't emit a stream of notes that can be sent over MIDI directly. At the very least, it needs a makenote following it to form proper notes, but that isn't ideal as the notes are of some fixed duration. MouseKeys is designed to be used as a bpatcher, in situations where you might otherwise use keyslider.
cbm.mono Similar to ddg.mono, but it outputs a MIDI-friendly monophonic note stream.
Partial Workshop Simple additive signal generator. I wouldn't do it this way if I was doing it today, but it illustrates the principles involved.
CollPattr Illustrates storing data from a coll using pattrstorage.
PollyWannaAllocate Illustrates using poly~ as a general instance allocator.
PhoneTones A phone DTMF generator.
StupidSynth
StupidSynth (Max 4)
A very simple use of poly~. This implements a really dumb synthesizer using poly~. The Max 4 version uses a fixed envelope using line~, while the Max 5 version uses adsr~ with external control. Both versions use cycle~ as an oscillator. It is simple so that the way to use poly~ is not obscured by cool stuff :-)
MultisliderTableCopy Illustrates copying back and forth between a multislider and a table.
FadeFromHere Illustrates fading out from wherever an audio slider is set.
Multislider Iterate Illustrates fetching values from a multislider, as a first step towards a step sequencer.
PulseSequencer Illustrates fetching values from a matrixctl, as a first step towards a pulse sequencer.
NoiseBlip Illustrates applying an envelope and filtering white noise.
MetroGnome A simple 4/4 Metronome with an accent.



Back to Max Stuff