Max (software) - Language

Language

Max is named after the late Max Mathews, and can be considered a descendant of MUSIC, though its graphical nature disguises that fact. As with most MUSIC-N languages, Max/MSP/Jitter distinguishes between two levels of time: that of an "event" scheduler, and that of the DSP (this corresponds to the distinction between k-rate and a-rate processes in Csound, and control rate vs. audio rate in SuperCollider).

The basic language of Max and its sibling programs is that of a data-flow system: Max programs (called "patches") are made by arranging and connecting building-blocks of "objects" within a "patcher", or visual canvas. These objects act as self-contained programs (in reality, they are dynamically-linked libraries), each of which may receive input (through one or more visual "inlets"), generate output (through visual "outlets"), or both. Objects pass messages from their outlets to the inlets of connected objects.

Max supports six basic atomic data types that can be transmitted as messages from object to object: int, float, list, symbol, bang, and signal (for MSP audio connections). A number of more complex data structures exist within the program for handling numeric arrays (table data), hash tables (coll data), and XML information (pattr data). An MSP data structure (buffer~) can hold digital audio information within program memory. In addition, the Jitter package adds a scalable, multi-dimensional data structure for handling large sets of numbers for storing video and other datasets (matrix data).

Max is typically learned through acquiring a vocabulary of objects and how they function within a patcher; for example, the metro object functions a simple metronome, and the random object generates random integers. Most objects are non-graphical, consisting only of an object's name and a number of arguments/attributes (in essence class properties) typed into an object box. Other objects are graphical, including sliders, number boxes, dials, table editors, pull-down menus, buttons, and other objects for running the program interactively. Max/MSP/Jitter comes with about 600 of these objects as the standard package; extensions to the program can be written by third-party developers as Max patchers (e.g. by encapsulating some of the functionality of a patcher into a sub-program that is itself a Max patch), or as objects written in C, C++, Java, or JavaScript.

The order of execution for messages traversing through the graph of objects is defined by the visual organization of the objects in the patcher itself. As a result of this organizing principle, Max is unusual in that the program logic and the interface as presented to the user are typically related, though newer versions of Max provide a number of technologies for more standard GUI design.

A large number of people use Max, even if they are not aware of it. Max documents (called patchers) can be bundled into stand-alone applications and distributed free or sold commercially. In addition, Max can be used to author audio plugin software for major audio production systems.

With the increased integration of laptop computers into live music performance (in electronic music and elsewhere), Max/MSP and Max/Jitter have received quite a bit of attention as a development environment available to those serious about laptop music/video performance.

Read more about this topic:  Max (software)

Famous quotes containing the word language:

    Perspective, as its inventor remarked, is a beautiful thing. What horrors of damp huts, where human beings languish, may not become picturesque through aerial distance! What hymning of cancerous vices may we not languish over as sublimest art in the safe remoteness of a strange language and artificial phrase! Yet we keep a repugnance to rheumatism and other painful effects when presented in our personal experience.
    George Eliot [Mary Ann (or Marian)

    Which I wish to remark—
    And my language is plain—
    That for ways that are dark
    And for tricks that are vain,
    The heathen Chinee is peculiar:
    Which the same I would rise to explain.
    Bret Harte (1836–1902)

    An art whose medium is language will always show a high degree of critical creativeness, for speech is itself a critique of life: it names, it characterizes, it passes judgment, in that it creates.
    Thomas Mann (1875–1955)