MaxMSPJitterπ
Max Externalsπ
f0.extπ
Some externals for Max
- f0.auto_scale - finds minimum and maximum values of a stream of numbers and uses them as input scaling range
- f0.auto_scale~ - MSP
- f0.beats_to_frames - calculates how many [video]frames will fit in x beats
- f0.construct - a constructive constructor. Weave pictures like these or like these. Connects to a standard 2D graphics object like Max's [lcd], Jitter's [jit.lcd], SoftVNS' [v.draw] or nato.0+55's [242.qd]
- f0.distance - calculate the distance between successive (delta) points in 1, 2 or 3 dimensions
- f0.distance~ - MSP
- f0.fold - fold float and integer numbers to a specified range
- f0.frames_to_beats - calculates how many beats will fit in x [video]frames
- f0.gcd - find the greatest common divisor
- f0.inc_dec_split - detect direction of incoming values and split to different outlets
- f0.limit_counter - a different counter with floor and ceiling
- f0.noergaard - Per NΓΈrgΓ₯rd's infinity series
- f0.range - finds minimum, middle and maximum values from a stream of values
- f0.range~ - MSP
- f0.range2 - similar to f0.range but with an added smooth factor
- f0.range2~ - MSP
- f0.ratio - keep width/height proportion
- f0.slub - generate CPU spikes - disrupt timing version
- f0.slub~ - generate CPU spikes - audio click version
- f0.smooth - single exponential smoothing. good for filtering data from sensors
- f0.smooth~ - MSP
- f0.smooth2 - double exponential smoothing
- f0.smooth2~ - MSP
- f0.snap - smooth by snapping
- f0.tune - an external that 'quantise' frequencies
- f0.tune~ - MSP
- f0.ultimate_counter - counter with float direction/rate and loop settings
- f0.wrap - wrap float or integer numbers
Available on github.com/redFrik/f0ext. Several have been ported to JavaScript (the [js] object in Max). See github.com/redFrik/f0js
version 13-08-10 / (GNU GPL) / source & binaries included.
- download for OSX (336kB) (64/32bit for both Max5 and Max6)
previous version for OS9, Max4 and Max5.
- download for OSX (275kB) (universal binary - for both Max4 and Max5)
- download for Win (174kB) (not tested with Windows Max5 but should work)
- download for OS9 (120kB)
f0.keyboard_layoutπ
Get and set keyboard layout and input method. OSX only.
version 1.1 / (GNU GPL) / source & binaries included.
- download for OSX (19kB) (universal binary)
f0.jit2n2 / f0.n22jitπ
Bridge objects for peace and understanding. Converts data between nato.0+55 and jitter. OS9 only.
version 1.0
- download f0.jit2n2 for OS9 (23kB)
- download f0.n22jit for OS9 (23kB)
Max Abstractionsπ
red-frameworkπ
Framework for stacking, chaining and mixing Max/Jitter patches. Been working on it since 2006 and now contains >100 modules. Hosted at code.google.com/p/red-framework. Download via SVN.
f0.absπ
A bunch of abstractions that someone might find helpful including:
- f0.active - help to turn off processes if inactive in more than x ms
- f0.atolf - ASCII to list-of-floats conversion
- f0.average_tempo - gives an average tempo of the last n bangs
- f0.bounds - detect if a xy location is within the bounds of a shape
- f0.clock - slow down metro/line/delay/pipe/clocker/timeline objects
- f0.coords_to_rect - convert x1, y1, x2, y2 to x, y, width, height
- f0.data_rec - record timestamped messages
- f0.data_seq - record and playback messages
- f0.delay - fifo delay line for messages
- f0.delayf - fifo delay line for numbers with feedback
- f0.dict - simple dictionary
- f0.drunk - floating-point drunk
- f0.duplicates_in_coll - remove duplicate data in coll objects
- f0.ease - ease in, ease out
- f0.efxgate - route via effect. also works with jitter
- f0.float_counter - counter with float direction/rate
- f0.flush - replacement for the standard [flush] object. this one also handles MIDI channels
- f0.fold~ - fold values
- f0.folder - wrapper for the standard [folder] object. easily connects to coll, umenu and msgbox
- f0.hms_to_ms - converts hours-minutes-seconds to milliseconds
- f0.jit_dimchange - outputs dim if a jitter frame differs from previous
- f0.jit_dimchange2 - outputs dim if a jitter frame differs from previous. more efficient version
- f0.jit_fade - fader built for efficiency
- f0.jit_fade_uyvy - fader built for efficiency
- f0.jit_lfos - a bank of lfos
- f0.jit_mix - mixer built for efficiency
- f0.jit_mix_uyvy - mixer built for efficiency
- f0.key - wrapper for key and keyup
- f0.l== - outputs 1 if two lists match
- f0.lchange - filter out repeated lists
- f0.lftoa - list-of-floats to ASCII conversion
- f0.line - different line
- f0.line_exp - exponential line
- f0.line_log - logarithmic line
- f0.list_all_zero - outputs 1 if all numbers in a list are zero
- f0.list_arpeggio - iterates over a list with a delay
- f0.list_collect - builds a list of incoming messages
- f0.list_first_nonzero - output index of first non-zero item in list
- f0.list_num_nonzero - count number of non-zero items in a list
- f0.live - record and repeat x messages y times
- f0.makenote - replacement for the standard [makenote] object. this one also handles MIDI channels
- f0.miniseq2 - MIDI note sequencer with variable playback rate
- f0.mouse_move - this abstraction will move the mouse by a small amount if inactive for more that x seconds
- f0.ms_to_hms - converts milliseconds to hours-minutes-seconds
- f0.multidelay~ - tap delay with variable number of tap outputs, independent delaytimes and levels
- f0.oitar - calculate width/height proportion
- f0.once - loadbang that only fires once for all instances
- f0.one_block_gate - blocks only one message, then opens the gate
- f0.one_through_gate - lets only one message pass, then closes the gate
- f0.play~ - one shot sample player
- f0.play_env~ - one shot sample player with an envelope
- f0.r - receiver that remembers and has a built-in gate
- f0.rand - floating-point random
- f0.rand2 - floating-point random bilinear
- f0.rect_to_coords - convert x, y, width, height to x1, y1, x2, y2
- f0.rotary - for endless rotary encoders
- f0.route_index - route lists beginning with index
- f0.route_pattern - prepends indexes from a pattern
- f0.s== - outputs 1 if two symbols match
- f0.sah - sample and hold messages
- f0.sample - reduce a stream of messages by only letting every x message pass
- f0.schange - filter out repeated symbols
- f0.sched - delay items or lists
- f0.seed - custom seed for random objects
- f0.seq - simple step sequencer for messages
- f0.sine_rule - sine rule
- f0.vmk - basic computer keyboard -> piano mapping
- f0.vr - value+receive that remembers what has been received
- f0.vs - value+send that remembers what has been sent
- f0.wrap~ - wrap values
Latest version available on github.com/redFrik/f0abs
version 11-02-16
- download for OSX & Win (162kB) (Max4 format but also works under Max5)
previous version for OS9.
- download for OS9 (49kB)
make-envelopesπ
Seven abstractions that create different kinds of envelopes. Perfect for grain synthesis. Including ADSR, Blackman, curve, Gauss, Hamming, Hanning, trapezoid.
version 01-11-06
- download for OSX & Win (17kB) (Max4 format but should work under Max5)
- download for OS9 (17kB)
Max Java Classesπ
f0.mxjπ
Some Java classes for Max.
- f0.pdu - decode mobile phone text messages (SMS)
version 09-07-27 / (GNU GPL) / source included
- download (32kB) (help files in Max5 format but classes should also work under Max4)
buf.Op extrasπ
With this copyFrom
method, you can select and copy into a MaxMSP buffer at any position. To install open the Java source code for buf.Op from within max with 'viewsource'. Then paste this code at the end of that document - just before the last closing curly bracket. Save, press CMD+K and click compile. Last restart MaxMSP. Notice that this will be overwritten whenever you update Max.
//redFrik 050513, 051128, 060927
public void copyFrom(String frombuf, long destoffset) {
copyFrom(frombuf, destoffset, 0);
}
public void copyFrom(String frombuf, long destoffset, long srcoffset) {
long length= MSPBuffer.getSize(frombuf);
copyFrom(frombuf, destoffset, srcoffset, length-srcoffset);
}
public void copyFrom(final String frombuf, final long destoffset, final long srcoffset, final long srcsize) {
MaxSystem.deferLow(new Executable() {
public void execute() {
int channels= MSPBuffer.getChannels(frombuf);
for(int i= 1; i<=channels; i++) {
MSPBuffer.poke(bufname, i, destoffset, MSPBuffer.peek(frombuf, i, srcoffset, srcsize));
}
outlet(0, "done");
}
});
}
and here is a little example patch...
- download (1.2kB)
Miscellaneous Max Stuffπ
f0.overviewπ
Browser patch for all my objects. By courtesy of dlf:telco.sys
version 11-02-16
- download for OSX & Win (24kB) (Max4 format but also works under Max5)
(see also maxobjects.com)
objectlistπ
Optional file for my externals and abstractions. Drop in Cycling '74/init/ folder
version 08-10-09
Examplesπ
Jitter - simple demo patches made for a presentation at Fylkingen, Stockholm, March 2004
- download (8kB)
Max4π
This Lisp function creates an ASCII overview of a Max patch's structure, send/receive symbols, variables and third-party externals and abstractions.
- save a Max patch "as text..."
- load and evaluate the lisp file
- enter "(maxpatch-overview)" in the Lisp listener and press enter
- find and open the saved Max patch when prompted
- see how patches are built, which variables are in use (send, receive, value) and which third-party externals/abstractions that are utilized
version 01-04-22 / req. Lisp interpreter (MCL)
- download (12kB)