************************************************* * * FTM * real-time object system for Max/MSP * * © Copyright 2004 IRCAM - Centre Pompidou * _________________ RELEASE NOTES for FTM 1.7.13 (May 30, 2007) - ftm.vecdisplay: fixed memory leak (for vecdisplay running when not visible) - new object mnm.fftfilter - new example in MnM: gesture_follower - other several minor bug fixes _________________ RELEASE NOTES for FTM 1.7.12 (February 16, 2007) - fmat, fvec: introduced ramp function - ftm.mess: thread safe expression evalution - gbr.slice~, gbr.psy~: fixed craches (expecially on multi-processor machines) _________________ RELEASE NOTES for FTM 1.7.11 (December 25, 2006) - fvec.c: several fixes in maxi, mini and clip methods - this release for Max46 OSX is Universal Binary _________________ RELEASE NOTES for FTM 1.7.10 (December 20, 2006) - ftm.vecdisplay: changes in monodimensional fmat display when zoomed (in more than one value for pixel): - in lines mode, vector is displayed with min-max envelope - in points mode, vector is displayed with all values in range for every pixel - in zero peaks mode, vector is displayed with max absolute value, between min and max in range - in peaks mode, vector is displayed with maximum value in range BUG FIXES: - fmat.c: protect fmat set from endless loop with negative indices when matrix empty - ftm.vecdisplay: - fixed bug resizing vecdisplay with history open, history_height is now clipped to the vecdisplay height. This fix corrupted vecdisplay generation saving patch. - several other bug fixes - gbr.psy~: fixed bad (micro-)timing - gbr.addpartials: fixed major bug - other several minor bug fixes _________________ RELEASE NOTES for FTM 1.7.8 (October 23, 2006) - dict.c: added set method with single dict argument BUG FIXES: - fixed bug opening files with special characters (as ˆ, –, Ÿ, ...etc.) in name or path. - fmat.c: fixed bogus fill varargs method for fmat introduced in last commit - fvec.c: added proper fill methods to fvec - track editor: fixed hangup at end of midi file import - other several minor bug fixes _________________ RELEASE NOTES for FTM 1.7.7 (August 1, 2006) - added ftm.sqlite external for database access - added fvec fill with list and expression - fmat setrow, setcol, append now accept tuple BUG FIXES: - ftm.mess: fixed crash on #set when ftm.mess is in a closed sub-patcher - final fix for marker tracks and events - fixed fmat/fvec env interpolation with fmat - fixed undo bug in track editor - fixed scroll problem adding an event in track - fixed popup trigger with right button - BETA MACINTEL: fixed editing bug in ftm.mess MnM: - added mnm.hist external to calculate histogram of matrix elements KNOWN BUGS for Gabor - gbr.trace crashes KNOWN BUGS for FTM 1.7.7 BETA for Max 4.6 PPC: - The gabor objects in this release only work in MAX 4.6. Everything else works in MAX 4.5 and 4.6. KNOWN BUGS for FTM 1.7.7 BETA for Max 4.6 MACINTEL: - gbr.psy~ crash at dsp on... _________________ RELEASE NOTES for FTM 1.7.6 (July 5, 2006) - java client is no more loaded at startup, but at first opening of a java editor. - fmat editor can deal with very long sound files. - several minor bug fixes KNOWN BUGS for FTM 1.7.6 BETA MACINTEL: - gbr.psy~ crash at dsp on... - ftm.mess, ftm.object editing bug. KNOWN BUGS for FTM 1.7.6 BETA PPC: - The gabor objects in this release only work on MAX 4.6. Everything else works in MAX 4.5 and 4.6. _________________ RELEASE NOTES for FTM 1.7.5 (May 5, 2006) - scoob track chordseq import/export in SDIF - MnM. New mnm.nmd object (OSX version only): Non-Negative Matrix Decomposition (NMD) using Sparseness Constraints: This object is destined for realtime decomposition of an incoming vector (fmat, first inlet) using known template structures (matrix fmat, second inlet) with a normalization factor that can be controlled in realtime (number, 3rd inlet). It can be used for mapping of an incoming signal to "known" templates that are shown once to the object in the second inlet as a matrix. Note that both the input vector and templates should contain non-negative values. Other controllable parameters include: @sH : between 0 and 1, the sparsity measure @criteria : the error criteria (default is 0.01) @maxiter : Maximum number of iteration used at each instance (default is 100) As application examples, the object can be used to recognize instrumental templates or multiple-pitches of known pitches of an instrument in realtime. One application is described in: Arshia Cont, "Realtime Audio to Score Alignment for Polyphonic Music Instruments Using Sparse Non-negative constraints and Hierarchical HMMs", in IEEE International Conference in Acoustics and Speech Signal Processing (ICASSP), May 2006. - bug fixes: - ftm.mess and ftm.object: editing bugs in windows version _________________ RELEASE NOTES for FTM 1.7.4 (April 19, 2006) - expressions: - added tail reference $| (remove first from list) - added binary and/or - added logical "not" function, because (! ...) is a syntax error - added function checkversion to test for minimal ftm version - added fmat method find - added mat row method to change number of rows - SDIF support: - added ftm.sdif.write, ftm.sdif.info objects - track import/export complete for float, fmat, dict, marker tracks - first sdif help patches and summary ftm.sdif.help - bug fixes: - fixed editing bug when java editors opened (after close and reopening editors) - ftm.record.c: fixed bug: events right after start didn't record - ftm.vecdisplay: fixed bounds change bug on windows platform - fixed bug on post with marker (track) - externals now have the bundle bit set (on some installations, they showed up as directories) Gabor Version 2 Release Notes: - Gabor can now run without "Scheduler in Audio Interrupt"!!! - added object gbr.fire~ (gabor synced metronome) - added gbr.mask object - added gbr.morph and gbr.trace _________________ RELEASE NOTES for FTM 1.7.3 (February 01, 2006). - introduced fvec java editor - this release replace the previous release in which some MnM objects were missing. _________________ RELEASE NOTES for FTM 1.7.2 (January 13, 2006). - introducing: FTMlight: - shouldn't change anything for the full FTMlib (to be verified in detail) - has only the "most important" services of FTM (to be discussed) - all file access removed and concentrated into separate C-modules (.c/.h) - "connects" to another running FTMlib or FTMlight (of the same major version) via the new sharing mechanism (to be perfectionized) - towards a "modular" and light FTM - introduced global FTM system values $FTM.audio.sr and $FTM.audio.vs, which are automatically updated when runtime environment (e.g. Max/MSP) changes the sample rate or signal vector size - removed sample rate field and "sr" access methods from fmat/fvec - made fmat and fvec methods that use log 0-safe (no more NaN or underflow) - fmat soundfile import: complete import arguments (channel ignored for the moment) no arg or 0 or string mean: all/as is - cumsum method: cumulative sum on fmat/fvec in place - changed FTMInit.sh script to deal also with paths containing spaces... _________________ RELEASE NOTES for FTM 1.7.1 (December 14, 2005). - ftm.mess: on evaluation error, print expression and containing patcher - mat, fmat, fvec: methods "set" to copy from track with columns time, content - completed fvec methods (copy function, change onset, size, sr) - mat: added initialisation from atom list _________________ RELEASE NOTES for FTM 1.7.0 (December 2, 2005). - introduced shared pointers between multiple versions of FTM loaded - added FTM startup/splash_screen - fixed crash on reopening patch after loading corrupt sdif file: - fvec: - new method prod to get product of all values - changed init arg parsing: no argument gives empty column fvec - added messages get (gets referenced fmat), sort and sortrev to fvec class _________________ RELEASE NOTES for FTM 1.6.4 (September 29, 2005). - fixed very bad bug in messages dispatcher, responsible of recurrent crashes difficult to reproduce. - fix in gbr.slice~ init. - other several minor bug fixes _________________ RELEASE NOTES for FTM 1.6.3 (August 03, 2005). - multitrack editor: - fixed save track editor state in multitrack; - delete of events from table view (with Apple+BACKSPACE); - track editor: - range is saved in float/int track; - range max and min moved to float; - all actions on track properties, moved from popup menu to a track inspector dialog. The inspector is opened from the track popup menu. - dict & mat editors: DoubleClick on the cell is needed to open editors of objetcs contained in a dict or mat. - gabor: - added new objects gbr.autox, gbr.cossx and gbr.bands (to be documented) - gbr.fft, gbr.ifft: introduced new (altivec implemented) FFT routines - other several minor bug fixes _________________ RELEASE NOTES for FTM 1.6.2 (June 28, 2005). - fixed bug of missing local scope in abstractions (scope was surrounding top level patcher) - track: fixed bug in methods importas/exportas (didn't work properly for files without extension) - track editor: several bug fixes concerning markers - ftm.copy works now for track - ftm.print works as before - SDIF support is progressing: - new object sdif.info gives the duration, a summary of the data, and header information from an SDIF file (set , print, bang) - import/export SDIF to fmat track - import SDIF into track of dict of matrices per frame - import labels and frame times to marker track - give definition of private types at end of export message - non-crashing when importing corrupt sdif files (\n -> \r\n) - files are found on max path - later: scoob track: import chordseq from audiosculpt float or int track: import first selected matrix element _________________ RELEASE NOTES for FTM 1.6.1 (June 10, 2005). - this release works on OSX 10.4 - several bug fixes in ftm.mess and ftm.object editing _________________ RELEASE NOTES for FTM 1.6.0 (May 12, 2005). - new features for FTM message box (ftm.mess): - multiple inlets - loadbang - initialization values for $-arguments ($1 $2 ...) - trigger mode (left inlet / all inlets) - bug fix in text import for fmat - code restructuring for portability _________________ RELEASE NOTES for FTM 1.5.2 (April 25, 2005). - ftm.vecdisplay finalized. - minor adjustments to the FTM API - fixed bug in recursive saving - track: implemented methods markers to get and set marker track (replaces getmarkers message) - fixed multitrack dump - other several minor bug fixes _________________ RELEASE NOTES for FTM 1.5.1 (April 13, 2005). - import/export distinguishes file types by extension, importas/exportas take an extension or type as first argument to force a type - use import - args... to choose a file interactively and pass arguments to the import handler - libsndfile is used for audio import/export to fmat - SDIF import/export fixed, files are found in Max search path or on absolute path - introduced track and channel selection for MIDI file import - use new fmat messages colref, rowref, diagref to get fvec references - use new fmat messages setrow, setcol to set an fmat row/col from a list, fvec, or fmat - fmat messages col, row are deprecated - renamed fmat/fvec ee message to more common eq, leave ee for now as deprecated - added fvec message to set/get sample rate and persistence for sample rate - new functions: mod (modulo), case, if (n.b.: all arguments are evaluated!) - the usual bug fixes _________________ RELEASE NOTES for FTM 1.4.1 (March 21, 2005). - object.c: fixed argument passing in impot/export via file chooser - seqmidi.c: now deleting scoobs with 0-duration in MIDI import - added channel and track selection to MIDI file input - extended dict to accept anything as key - removed unused equal functions of several classes (everything but primitives and tuple is hashed by its pointer) - renamed "sequence" class to "multitrack" (addidng "sequence" alias) - fixed tuple representation in Java table editor (removed name) - added mehods next and prev to ftm.tween - other several minor bug fixes _________________ RELEASE NOTES for FTM 1.4.0 (March 01, 2005). - the classes fcol and frow have been replaced by a new fvec class (see help patches) (the related fmat methods and externals should work as before) - fixed problem of import of MIDI files into track objects - this release contains the Gabor package and the first externals of MnM - several minor bug fixes - updated help patches _________________ RELEASE NOTES for FTM 1.3.3 (February 14, 2005). - fixed text parsing bug in ftm.mess (bug introduced in the previous release) - various bug fixes in fmat object: --> fixed access to empty matrix: no error, just return 0 --> fixed row index wraparound --> zero rest of partially initialised fmat _________________ RELEASE NOTES for FTM 1.3.2 (February 10, 2005). - allow multiple indexing syntax, e.g. $mydict[a][0 1][2 3] - access marker track of a scoob track with markers method - import text labels (as exported by audacity) into marker track - fixed crashes in ftm.mess during multi-lines text editing and paste of very long text - fmat, mat, dict: fixed bug in editor refresh when using ftm.copy _________________ RELEASE NOTES for FTM 1.3.1 (February 4, 2005). - implemented mat method set from other mat - removed bogus error messages from SDIF import/export, fixed framespec bug - bug fixes in ftm.mess and Mat editor _________________ RELEASE NOTES for FTM 1.3.0 (January 25, 2005). - introduced ftm.buffer object, fmat interface to Max/MSP buffer~ (see ftm.buffer.help) - removed fmat format from fmat and all related modules -> removed difference between complex vectors and matrices of two columns -> several fmat methods don't handle complex vectors as before -> introduced dedicated complex methods with leading 'c' (cabs, cexp, clog, etc.) -> method "polar" converts two-column matrices from complex rectangular to polar format -> method "rect" converts two-column matrices from complex polar to rectangular format - various minor bug fixes _________________ RELEASE NOTES for FTM 1.2.1 (January 20, 2005). - fixed ftm.list version confusion - various minor bug fixes _________________ RELEASE NOTES for FTM 1.2.0 (January 18, 2005). - first FTM release in Mach-0 format - import and export of SDIF matrices to a track of type fmat with messages import [filename] [frame-specification...] export filename frame-specification - added ftm.tween and ftm.inter externals (doc missing) - revised and added help and first tutorial patches _________________ RELEASE NOTES for FTM 1.1.0 - added sqrt and pow functions _________________ RELEASE NOTES for FTM 1.0.1 (October 25, 2004) - implemented "append bar" and "make_trill from scoobs" in track - several minor bugs have been fixed - added ftm.class help patches _________________ RELEASE NOTES for FTM 1.0.0 (October 15, 2004) - added persistency of markers in track - implemented tempo change in markers - several minor bugs have been fixed _________________ RELEASE NOTES for FTM 0.12.1 (BETA, October 4, 2004) - several minor bugs have been fixed in ftm.vecdisplay - fixed persistency bug for objects containing tuples (mat, dict...) _________________ RELEASE NOTES for FTM 0.12 (BETA, September 30, 2004) - some basic objects doubling functionalities of the message box have been removed (ftm.get, ftm.invoke, ftm.send) - ftm.tolist has been renamed to ftm.list - ftm.live has been renamed to ftm.schedule (no doc yet) - ftm.iter init syntax is now @mode (elem|row|col|frow|fcol|tuple) - the outlet of ftm.vecdisplay have been finalized - editors of mat, dict now display included objects correctly - several minor bugs have been fixed (This version of FTM is meant to be the last version of FTM in Carbon CFM binary format - future releases will use the Mach-O native OS X binary format) _________________ RELEASE NOTES for FTM 0.11 (BETA, August 30, 2004) - ftm.object now defines as well constants (any expression) and can refer to any (locally or globally defined) name - ftm.define is deprecated (please use ftm.object instead) - FTM now implements a complete object serialization for ftm.object and the objects contained by and FTM object defined with ftm.object: when marked as persistent (save with patcher) the content of an FTM object is properly saved/loaded, copied/pasted and restored by undo - the file format for Max patches containing FTM objects changed (compatibility with older FTM Max patches will be provided for some month) - abstraction arguments (#0, #1, #2, etc) in ftm.object (expression and name) and ftm.mess are replaced when loading a patch as abstraction - names defined with ftm.object stay local by default - the scope of a ftm.object name definition can be toggled between local and global with alt-shift-click on the name field in the right of the object box in an unlocked patcher - the ftm.object name definition can be edited directly in the display field on the right of the object box - ftm.object persistence can be toggled with alt-shift-click on the left side of an ftm.object box in an unlocked patcher - the FTM objects dict, mat and fmat have a simple editor allowing to access contained objects recursively (double click on ftm.object) - copy and paste of text between any Max/MSP object and ftm.object or ftm.mess is fixed - new functions int (or i), float (or f), print, floor and ceil were added - unicode accents in ftm.object and ftm.mess are now displayed correctly - several bug have been fixed (fmat aiff import, closing Java editor windows with command-w, etc.) _________________ RELEASE NOTES for FTM 0.9 (BETA, June 15, 2004) Changes mainly introduce several new methods for fmat and track classes and minor bug fixes. The track now can display bars and tempo changes (import from standard MIDI files for scoob tracks). FTM externals from now on check for a specific FTM version. 9.1 : bug fixes in fmat methods (exp, log) 9.2 : bug fix in gui communication (was crashing on certain GUI actions such as deleting scoobs from a track) _________________ RELEASE NOTES for FTM 0.8 (BETA, April 15, 2004) - FTM supports now global and local scopes for names. - For ftm.object the scope of a named FTM object is set via the inspector (see help patch ftm.object.help). - With ftm.define a new object was included to the set of FTM externals. This object allows the definition of constants (simple values and tuples associated to an FTM name in local or global scope - see help patch ftm.define.help) and mainly was introduced as a straight forward way to define FTM names from the arguments of an abstraction (#1, #2, #3, etc). - Numerous minor fixes and extensions are not mentioned in these release notes. _________________ RELEASE NOTES for FTM 0.7 (BETA, March 16, 2004) Yes, it's already number 7 but actually the second one released to the public. While the first public release (6) was labeled "version I" this one is correctly marked as BETA. The following releases will stay BETA until we think one really serves to be I. The only but important change of this release is that the FTS message box (ftm.mess) references the arguments (elements of the incoming list) starting from 1 ($1, $2, $3, etc.) just like the traditional Max message box and not from 0 as is was still in release 6.