joseph branciforte
joseph branciforte
jb.utilities, available to download below, are a group of 50 abstractions for the max/msp programming environment. They provide a closely related set of functions for performing awkward tasks in max/msp as well as streamlining more complex workflow problems. They are divided into several categories: control, data, list-processing, numbers, pattr-family, statistics, strings, and user-interface. Most perform multiple functions and are unbiased as to data type where possible. The download contains help files.
jb.block : block the next n items from an input stream
jb.delay : delay for any kind of input, in ms or events
jb.pass : allow a percetage of input to pass through
jb.uzi : send out a fast-as-possible linear or non-linear count
jb.= , jb.!= : test the equality of various data types
jb.change : separate static and dynamic input
jb.decode, jb.encode : encode/decode data using index numbers
jb.match :pass input list if nth element(s) matches search term(s)
jb.multichange: "change" for any number of indexed variables
jb.sieve : a dynamic data sieve
jb.skeptic : don't "believe" input until it occurs n-times in a row
jb.iter : iterate a list at a variable rate
jb.slice : slice a list in a multitude of ways
jb.tandem : iterate two lists in tandem
jb.unique : remove duplicates items from a list (preserving order)
jb.weave : weave two lists together using a variable pattern
jb.xerox : extend a list with copies of itself
jb.% : modulo operator with integer quotient
jb.delta : calculate difference between successive values
jb.fi : separate floats and ints, treat whole-number floats as ints
jb.float : store and interally operate upon a floating-point value
jb.grid : snap numerical input to a grid
jb.histo : a histogram for floating-point numbers
jb.interp : linear interpolation between two numerical lists
jb.normalize : return the normalized weights of a numerical list
jb.series : perform basic operations a 12-element series
jb.split : float/list version of 'split' object
download jb.utilities1.2 [144 kb]
jb.pattrgate : initiate pattrstorage recalls with no output
jb.pattr.mml : return min/max/length of pattr-enabled objects
jb.collstats : return statisics on a named coll
jb.mean : calculate the mean of alist with n% trimmed
jb.median : return the median value of a numerical list
jb.mode : return the mode of a list
jb.range : return the range of a list with n% trimmed
jb.sum : return the sum of numerical list
jb.itoa : queue-based integer to ASCII conversion
jb.strinsert : insert a substring at the specified position
jb.strjoin : join two strings
jb.strlen : return the length of a string
jb.strrev : reverse a string
jb.strsieve : separate characters out of a string
jb.strslice : slice a string at the specified position(s)
jb.strsub : return the position(s) of a substring
jb.cellblock : storage mechanism for jit.cellblock
jb.label : label objects with name or objectclass
jb.mml : return the min/max/length of named UI objects
jb.taptempo : basic tap-tempo implementation