Subversion Directory Structure

CNMAT uses Subversion for version control. Inside our main repository (whose contents are documented [cnmat:node/2982|here]), there's a top-level directory called max with these subdirectories:

  • c74support: Header files and "stub" files that your project needs to use the API provided by Cycling '74 for writing externals
  • c74support-w32: Same thing, but the version from the Windows SDK
  • externals: Source code, project files, help patches, etc. for CNMAT's Max externals
  • java: Source code, help patches, etc. (but not compiled .class files), for CNMAT's Java programs
  • js: Source code, help patches, etc., for CNMAT's Javascript (but not JSUI) programs
  • jsui: Source code, help patches, etc., for CNMAT's JSUI programs
  • mspexternals: Source code, project files, help patches, etc. for CNMAT's MSP externals
  • patches: Projects done entirely in Max/MSP, e.g., demos, tutorials, etc.
  • project-templates: XML files representing "template" CodeWarrior projects, a possible starting point for making a CodeWarrior project for a new external
  • SDK: The latest software developer's kit from Cycling '74.
  • utility-library: CNMAT code used in multiple Max/MSP externals

Inside externals and mspexternals, the externals are organized by category:

  • externals:
    • bridge: Software connections between Max/MSP and other programs (e.g., Matlab)
    • controllers: Externals related to specific controllers (e.g., Tactex MTC)
    • lists: List processing
    • machine-learning: Neural networks, etc.
    • misc: Catch-all category
    • networking: Both protocols (OSC, etc.) and objects that talk to the network (UDP, TCP...)
    • numerical: E.g., splines, least common multiple
    • SDIF: Sound Description Interchange Format: reading and writing files, and getting SDIF data in and out of Max data
    • spectral-transform: Apply changes to spectal models (sinusoidal, resonance...)
    • visualization: Graphical representations
  • mspexternals:
    • additive: Many flavors of oscillator banks for additive synthesis
    • analysis: Signal analysis: RMS energy, centroid, F0 estimate, inter-onset-interval, etc.
    • convolution: convolution
    • filters: filters
    • granular: granular synthesis (amaranth~ object)
    • misc: Catch-all category
    • mixing: Audio mixing
    • networking: Audio streaming and old Rimas Box externals
    • resonance-models: E.g., resonators~ (resonant filter bank)
    • SDIF: SDIF externals that deal with signals (abandoned SDIF-stft~ object)
    • spatial: Spatial sound (panning, VBAP, etc.)
    • visualization: Visualization of audio signals (spectrogram, etc.)

All of CNMAT's Max/MSP external source code lives in this repository, even if it is obsolete. For example, CNMAT's matrix mixer is completely inferior to the matrix~ object now part of MSP, but since that work was done at CNMAT we retain the source code for historical purposes.

Note also that some of CNMAT's Max/MSP externals (especially those related to OSC or SDIF) include platform-independent source code that lives outside the "max" branch of the source tree.