Line 5: | Line 5: | ||
FTM is based on the FTS server of the jMax project and distributed under the Lesser GNU Public License (LGPL). | FTM is based on the FTS server of the jMax project and distributed under the Lesser GNU Public License (LGPL). | ||
− | The sources of FTM are available | + | The sources of FTM are available via [[http://sourceforge.net/projects/ftm/ CVS at SourceForge.net]] |
− | |||
− | == | + | ---- |
+ | |||
+ | == Data Structures == | ||
FTM allows for static and dynamic creation of complex data structures. The following classes are currently implemented and documented: | FTM allows for static and dynamic creation of complex data structures. The following classes are currently implemented and documented: | ||
− | {| | + | {| |
| align="right" | '''''mat''''' | | align="right" | '''''mat''''' | ||
| width="24" align="center" | ... | | width="24" align="center" | ... | ||
Line 32: | Line 33: | ||
| width="24" align="center" | ... | | width="24" align="center" | ... | ||
| break point function | | break point function | ||
− | |||
|- | |- | ||
| align="right" | '''''tuple''''' | | align="right" | '''''tuple''''' | ||
Line 51: | Line 51: | ||
Static FTM objects are created in a patcher using a dedicated Max/MSP external called ftm.object. They can be named within a local or global scope and marked persistent to be saved within the patcher. FTM provides a serialization mechanism to recursively save the content of objects and the contained objects. | Static FTM objects are created in a patcher using a dedicated Max/MSP external called ftm.object. They can be named within a local or global scope and marked persistent to be saved within the patcher. FTM provides a serialization mechanism to recursively save the content of objects and the contained objects. | ||
− | + | ---- | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 12:35, 1 December 2006
FTM is a shared library for Max/MSP providing a small and simple real-time object system and optimized services to be used within Max/MSP externals.
The main purpose of FTM is the representation and processing of sound, music and motion capture data in Max/MSP extending the data types processed and exchanged by the Max/MSP objects.
FTM is based on the FTS server of the jMax project and distributed under the Lesser GNU Public License (LGPL).
The sources of FTM are available via [CVS at SourceForge.net]
Data Structures
FTM allows for static and dynamic creation of complex data structures. The following classes are currently implemented and documented:
mat | ... | matrix of arbitrary values |
dict | ... | dictionary of arbitrary key/value pairs |
track | ... | sequence of time-tagged values |
fmat | ... | matrix of floats |
bpf | ... | break point function |
tuple | ... | immutable array of arbitrary values |
scoob | ... | score object (note, trill, rest, etc.) |
midi | ... | midi event |
FTM objects can contain references to other FTM objects. A simple garbage collector handles transparently the destruction of dynamically created FTM objects referenced by multiple elements of a patch.
Static FTM objects are created in a patcher using a dedicated Max/MSP external called ftm.object. They can be named within a local or global scope and marked persistent to be saved within the patcher. FTM provides a serialization mechanism to recursively save the content of objects and the contained objects.