2004-03-18  Norbert Schnell  <Norbert.Schnell@ircam.fr>

	* fundamental changes in the management of names and persistence in FTS needing minor adaptation in the packages (no API changes!!)
	* generalization of patcher_data to fts_context_t = data attached to an object handled by its "container"
	* only container implemented is the patcher (sequence will follow)
	* names and persistence are now entirely handled by the objects container (if any) - which perfectly matches the actual behaviour before these changes
	* messages "name" and "persistence" to objects are redirected to their contianer (name and persitence flag added to patcher_data)
	* continer *interface* via messages "member_name", "member_persistence" and "member_dirty"" (added messages to patcher class)
	* introduced fts_object_set_state_dirty() to handle changes of the dynamic state for persistent objects only - fts_object_set_dirty() stays for changes of GUI attributes
	* introduced distinction of "fts_s_dump_gui" and "fts_s_dump_state" (fts_s_dump is obsolete)
	* the bmax saver allways calls fts_s_dump_gui and fts_s_dump_state only for persistent objects
	* introduced global names by adding a pointer to a corresponding definition in the global scope to the definition in the local scope
	* sending a message name with a (any) second argument (after the name) to an object will now create a global variable

2004-03-05  Alexandre Pages  <Alexandre.Pages@ircam.fr>
    
      * added file floatfuns.h in 'packages/data/c/src/fmat.c', which contains the definitions for the float versions of the math functions.

2004-03-01  Norbert Schnell  <Norbert.Schnell@ircam.fr>

	* added \r in parallel to \n to tokenizer.l
	* added fmat_set_m(), fmat_set_n(), et fmat_reshape() to fmat API
	* redefined fmat_set_size()
	* added some mathematical functions as methods to fmat

2004-02-25  Norbert Schnell  <Norbert.Schnell@ircam.fr>

	* added several methods to fmat class (fmat.c in package data)

2004-02-24  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* applied patch send by Lorenz Schori

	* packages/alsa/c/src/alsaseqmidiport.c (alsaseqmidiport_output): added midi song position pointer and midi song selection support.

	* packages/alsa/c/src/alsarawmidiport.c (alsarawmidiport_output): added midi song position pointer and midi song selection support.

	* packages/macosx/c/src/macosxmidiport.c (macosxmidiport_output): added midi song position pointer and midi song selection support.

	* packages/midi/c/src/midiparse.c (midiunparse_input): added midi song poistion pointer and midi song selection support.

	* fts/midievent.c: 
	(fts_midievent_song_position_pointer_message_init, fts_midievent_song_position_pointer_message_new, fts_midievent_song_select_message_init, fts_midievent_song_select_message_new): added support for midi song position pointer and midi song selection.
	(midievent_copy, midievent_set, midievent_get_tuple, midievent_dump_state ,midievent_post, midievent_instantiate): modified to add support for midi song position pointer and midi song selection.
	(_midievent_set_first, _midievent_get_first, _midievent_set_second, _midievent_get_second, _midievent_get_status): modifed to add support for  midi song position pointer and midi song selection.
	(fts_midiparser_byte): modified
	(fts_kernel_midievent_init): modified 

	* include/fts/midievent.h: apply patch send by Lorenz Schori
	(enum midi_type):
	(fts_midievent_song_position_pointer_get, fts_midievent_song_position_pointer_set, fts_midievent_song_position_pointer_get_first, fts_midievent_song_position_pointer_set_first, fts_midievent_song_position_pointer_get_second, fts_midievent_song_position_pointer_set_second): added prototype for midi song position pointer and mid song selection support

2004-02-20  Alexandre Pages  <Alexandre.Pages@ircam.fr>

     * fts/win32.c : added version conflict warning under win32 (comparison registry vs current)

2004-02-18  Alexandre Pages  <Alexandre.Pages@ircam.fr>

      * packages/control/help/*.jmax : complete rewrite of the help files and summary    

2004-02-18  Diemo Schwarz  <schwarz@ircam.fr>

	* package data: 
	  - dict set message now has same semantics as init arguments:
	    store list of key-value pairs
	  - all user(!) methods that change the dict call 
	    data_object_set_dirty
	    -> don't use user method dict_clean but dict_remove_all
	  - mat.[ch]: 
	    fix bug of clearing all atoms when reallocating in mat_set_size,
	    remove unnecessary second clear from callers of mat_set_size
	    add method to append a row of atoms
	    hardcoded documentation of main user methods

	* jmax/include/fts/predefsymbols.h:
	  - (re)changed system dump message to _dump to free this symbol 
	    for jmax-sdif.

	* jmax/fts/tuple.c:
	  - Adding a size (user) method for tuple (read-only).

	
2004-02-13  Alexandre Pages  <Alexandre.Pages@ircam.fr>

	* packages/control/c/src/sync.c: raised the maximum inlet number to 32	

2004-02-13  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/*/Makefile.am: added -release version libtool flag.

2004-02-12  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/dtd/c/src/readsf.c (readsf_eof_alarm): seek to begin of file when eof is reached.

	* packages/aflib/c/src/aflib.c (aflib_loader_seek): implemented seek for audiofile.

2004-02-12  Alexandre Pages  <Alexandre.Pages@ircam.fr>

        * ftsdll.dsp : removed fts/property.c from the project
        * include/fts/property.h : removed duplicated prototypes

2004-02-12  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/property.c: removed obsolete file (code moved to patcherobject.c).

2004-02-05  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/signal/c/src/playfvec.c (segment_set): Fixed bug "[ 891290 ] play~ with zero size vector".
	Added empty flag in segment_t structure.

2004-01-29  Alexandre Pages  <Alexandre.Pages@ircam.fr>

      * added sample format conversion routines in the ASIO package (sample_converters.h/c)

2004-01-13  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* configure.in: fixed java check test failed if CLASSPATH env variable was set.

2004-01-08  Norbert Schnell  <Norbert.Schnell@ircam.fr>

	* moved fts_function_get_by_name() from function.c to fts_get_function_by_name() to package.c

	* fixed function "new" - new_function() in function.c: now uses fts_object_create()

	* added object reference by fts_atom_refer() for function and method call return value in expression.c

2004-01-08  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* utils/rpm/jmax.spec.in: added custom variable for setting the dependency with external packages.
	I hope that can be used by packagers of other RPM based distro.

2004-01-07  Norbert Schnell  <Norbert.Schnell@ircam.fr>

	* moved fts_class_get_by_name() from class.c to fts_get_class_by_name() to package.c

	* updated Xcode project (added package functions, and converted to "native" project)
	
2004-01-07  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/signal/c/src/playfvec.c (play_ftl): fixed bug [ 872267 ] play bug with fvec starting by non 0 value. 
	Now in stop mode, play~ outputs 0.
	Please note that in pause mode, play~ outputs the current sample value.

2004-01-05  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* client/python: added license information in all python source code files.

	* client/configure.in, client/cpp/src/Makefile.am: added versionning of FTS C++ client library.

2003-12-29  Alexandre Pages  <alexandre.pages@ircam.fr>
  
      * added "key bindings and shortcuts summary" html help file in /doc.

2003-12-18  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/signal/c/src/playfvec.c (play_ftl): fixed bug "[ 822056 ] play~ behaves strangely 4.0.2 (jmax crash)".

	* bin/jmax.in: fixed bug "[ 791671 ] jmax does not load files specified on the commandline".

2003-12-17  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* renamed fts_get_class_by_name to fts_class_get_by_name and moved it from package.c
	to class.c

	* updated the syntax to get method invocation and function calls:
	  - functions are installed using fts_function_install and can be in any package
	  - syntax is (function_name arg1 arg2 ...)
	  - standard math functions are located in package functions

2003-12-15  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/ispw/c/src/route.c (route_bang): fixed bug "[ 832360 ] sending bang into [route] does nothing".
	Sending a bang or 'bang' is the same for route.
	
2003-12-15  Norbert Schnell  <Norbert.Schnell@ircam.fr>

	* added fts_symbol_name() calls to several files

	* removed newline characters from the end of strings used in calls to fts_object_error() (errors are always single line)

2003-12-11  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/alsa/c/src/alsaaudio.h, packages/alsa/c/src/alsaaudiomanager.c, packages/alsa/c/src/alsaaudioport.c, packages/alsa/c/src/alsamidi.h, packages/alsa/c/src/alsaseqmidi.h: added defines for ALSA API change between 0.9 and 1.0 version.	

2003-12-10  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/object.c (fts_object_set_name): fixed bug "[ 840782 ] can't remove object name".
	Now if fts_object_set_name is called with fts_s_empty_string as argument, we remove the 
	object name.

2003-12-01  Norbert Schnell  <Norbert.Schnell@ircam.fr>

	* separated fts kernel files
		fts/define.c from fts/variable.c
		fts/outlet.c from fts/message.c (to be cleaned soon)
		fts/midievent.c from fts/midi.c
		fts/patcherobject.c from fts/object.c
		fts/pipestream.c from fts/bytestream.c

		include/fts/midievent.h from include/fts/midi.h
		include/fts/outlet.h from include/fts/message.h
		include/fts/patcherobject.h from include/fts/object.h
		include/fts/socketstream.h from include/fts/bytestream.h

		include/ftsprivate/outlet.h from include/ftsprivate/message.h
		include/ftsprivate/patcherobject.h from include/ftsprivate/object.h
	
	* updated Xcode projet and fts/Makefile.am (not tested!)

	* changed fts_object_t by moving the property list into the the patcher_data structure
	
	* changed fts_patcher_t (patcher.h) by introducing the fields wx, wy, ww and wh instead of properties
	  (now properties are used only for the graphical properties of the objects: x, y, w, h, font properties, layer, etc.)
	
	* updated all concerned files included to the MacOS X projet (maybe some updates left for Linux or Windows specific files)
	
	* changed osc~, phi~ and wave~ classes for MacOS X for using DSP code based on fts_intphase_t instead of fts_wrapper_t (both in <fts/packages/utils/utils.h>)
	  (only by including osc_intphase.c and wave_intphase.c instead of the _ieeewrap.c files to the Xcode projet)

	* introduced fts_object_set_dirty() replacing fts_patcher_set_dirty() (staying for FTS private use)

	* introduced fts_get_class_by_name() replacing fts_class_get_by_name() (removed!!)

	* (re-)introduced fts_symbol_name() macro (with empty definition for jMax) to gain flexibility when embedding FTS into different contexts

2003-11-14  Riccardo Borghesi  <borghesi@livorno.ircam.fr>

	* macosxbuild/jMaxProject/jMaxProject.xcode: added a new xcode project for jMax compilation
	  on OSX 10.3 (where xcode substitutes projectBuilder as main development tool, and where
	  projectBuilder is no more supported). 

2003-10-31  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/control/help/change.help.jmax: updated the help patch.
	
	* packages/control/c/src/change.c: fixed bug "[ 832367 ] [change] does not register a difference".
	  Now toggle implements an input handler.
	  You can change the state of toggle with sending a set message to the 2nd inlet.
	  The new state is the set message argument.
	  If set is send to the 1st inlet, the message is understood as a new value 
	  (so it explains why toggle as 2 inlets..)
	  Added a "get" message handler.

	* include/fts/tuple.h: added the following functions:
	  fts_tuple_prepend_int
	  fts_tuple_prepend_float
	  fts_tuple_prepend_symbol

	* fts/array.c, include/fts/array.h: added the following functions:
	  fts_array_prepend_int
	  fts_array_prepend_float
	  fts_array_prepend_symbol
	  which are shortcuts for fts_array_prepend.

	* packages/guiobj/c/src/toggle.c (toggle_instantiate): fixed bug "[ 832351 ] persistence on toggle does not work".
	Now toggle_set is called for fts_s_value selector.

2003-10-30  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* configure.in, Makefile.am: added macosxbuild directory in make dist tarball
	The following files have been added:
	  macosxbuild/Makefile.am
	  macosxbuild/jMaxProject/Makefile.am
	  macosxbuild/jMaxProject/jMaxProject.pbproj/Makefile.am

2003-10-29  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/tuple.c (tuple_init): fixed bugs "[ 766924 ] [tuple] crash" and "[ 822060 ] crash when trying to create [tuple]".
	Now an error occur when a [tuple] is created in a patcher.
	If haven't found any side effect with this fix, but it certainly need more checking.

	* fts/message.c (dispatch_message_atom): we need to check when this function is called with a tuple as at (just a remember in changelog).....

2003-10-27  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/ispw/c/src/deltable.h: fixed bug "[ 822062 ] delay~.help.jmax patch has problems".

	* fts/package.c (__fts_package_save): fixed bug "[ 830993 ] cannot create new project".
	Package are saved if filename have changed.

	* packages/data/java/ircam/jmax/editors/bpf/FtsBpfObject.java (append): fixed bug "[ 827862 ] bpf persistence buggy".

	* packages/ispw/c/src/delwrite.c (delwrite_init): fixed bug "[ 822061 ] delwrite~ causes jmax crash".
	Use "default" as default name instead of NULL pointer.

2003-10-13  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>
	
	* bin/jmax.in: added check_java function for java checking.
	  - check_java: check if jMax could found a jvm which version at least REQUIRED_VERSION (currently 1.4.0).
	  If no a such jvm is found, an error message is printed in terminal (if running in a terminal) and 
	  with kdialog (if running KDE) or gdialog (if running GNOME) or dialog.
	  We need to do this to provide a more informative message to user which install binary distribution of jMax.

	* added BEFORE_ADDING_JAVA_CHECK tag to bin/jmax.in (in case we need to get back).
	
	* utils/m4/jmax.m4: fixed checking of jMax version in AC_CHECK_JMAX_VERSION.

	* utils/rpm/jmax.spec.in: added stuff for AGNULA/RehMuDi rpm building.
	fixed list for jmax-client package.

	* added BEFORE_REHMUDI_SPECIAL_SETTING tag to utils/rpm/jmax/spec/in (in case we need to get back).
	
2003-09-26  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* utils/m4/jmax.m4: added a new m4 macro: AC_CHECK_JMAX_VERSION.
	This macro could be used in external packages to be sure that version of installed jMax is enough.
	Changed AM_JMAX_CONFIG to call AC_SUBST(JMAX_VERSION) with JMAX_VERSION set by the output
	of "$jmax-config --version" or "$pkg-config --modversion jmax".

2003-09-24  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fts/hashtable.c: added missing break in fts_hashtable_init

2003-09-23  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* configure.in: fixed check for Jack Audio Connection Kit.

2003-09-22  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fts/expression.c: added symbol concatenation

2003-09-17  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* client/python/ircam/fts/client/Makefile.am: added missing FtsPipeConnection.py in list of files to install.

	* packages/signal/c/src/osc.c (osc_instantiate): added name support for osc~ object.

2003-09-16  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* configure.in: fixed bug "[ 787862 ] No warning on Linux if jMax is compiled without sound support".
	Added a warning if jMax is compiled without ALSA or Jack support.

2003-09-15  Pierre Alexandre Pages  <Alexandre.Pages@ircam.fr>

	* fts/audio.c, fts/audioconfig.c, fts/object.c : fixed unreferenced variable warning on Windows.
	
2003-09-15  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* apply patches send by Pierre Alexandre Pages.
	
	* fixed dependency problem with parser.h.

2003-08-25  Carl Seleborg  <seleborg@licorne.ircam.fr>

	* fts/fts.c (fts_get_user_directory): Added fts_get_user_directory() as a wrapper
	to (private) get_user_directory().
	* fts/cwppc.c, linux.c, macosx.c : made get_user_directory() extern.
	* include/fts/fts.h : declared the fts_get_user_directory() function - Fixed some typoes in the comments.
	* include/ftsprivate/connection.h : exported fts_connection_set_type() to make VideoDSP happy (dirty!!!)

2003-08-22  Riccardo Borghesi  <borghesi@livorno.ircam.fr>

	*  packages/guiobj/java/ircam/jmax/guiobj/Display>java (messageChanged): 
	fixed bug "[ 783632 ] repaint of generic display in edit mode".

2003-08-08  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* java/src/ircam/jmax/editors/patcher/EditField.java: fixed EditFieldKeyListener that introduced
	a bizarre behaviour on Windows. Apparently, the hack that was implemented in EditFieldKeyListener
	is no longer necessary. The only action that remains is trapping the Enter for non-multiline
	editable objects (number box for instance).

2003-08-07  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fixed the fix ;)

	* fts/template.c (fts_template_make_instance): removed uneeded recreation of args member of fts_patcher structure.

	* fts/variable.c (define_expression_callback): reflected fts_patcher structure change (fts_patcher.args is a fts_tuple_t* now)

	* fts/patcher.c (patcher_init, patcher_delete): reflected fts_patcher structure change (fts_patcher.args is a fts_tuple_t* now).

	* include/ftsprivate/patcher.h: reflected fts_patcher structure change (fts_patcher.args is a fts_tuple_t* now).

2003-08-07  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fts/object.c, fts/template.c, include/fts/patcher.h: fixed wrong object description 
	for template, fixed template arguments passing with $args variable.

2003-08-06  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fts/parser.y,fts/expression.c,fts/tokenizer.l: changed parser and tokenizer
	to re-introduce the {} syntax of 2.5; removed the use of () to denote tuples.
	The . (dot) operator is temporarily disabled, as there is not yet a clear consensus
	about its need. The quote character is now '.
	* fts/post.c,fts/tuple.c,packages/system/c/src/print.c: changed the printing of
	tuples and atom arrays to be consistent with new syntax.

2003-08-05  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/variable.c (define_evaluate): fixed bug "[ 783531 ] error in messconst: undefined variable".

	* fts/object.c (eval_object_description_expression_callback): commented a piece of code to readd error message in GUI Error Panel, but perhaps this piece of code is usefull somewhere....

	* fts/template.c (fts_template_file_modified): fixed reinstanciation of template instance if a template file is modified.

2003-08-04  Carl Seleborg  <seleborg@licorne.ircam.fr>
	
	* Fixed bug "[ 768933 ] Ctrl-c, Ctrl-x and Ctrl-v" in Track and Sequence editors.
	* (see 2003-07-21).
	* Changed "Save to..." to "Save as..." in the template editor window.

2003-08-01  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/template.c (fts_template_make_instance): fixed cyclic definition crash in template. (quick hack)

	* fts/package.c (fts_package_require): fixed cyclic dependency crash in package requiremenet (quick hack).

2003-07-31  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/package.c (fts_package_load): fixed bug "[ 777046 ] No error if a symbol is missing in a library"
	- package are only put in hashtable if they are successfully loaded.
	- package succesfully have fts_package_loaded state.

	* packages/jack/c/src/jackaudioport.c (jackaudioport_open_input, jackaudioport_open_output): 
	  - started to clean jMax jack support connfiguration madness.
	  - changed name of jack port created by jMax, now we use jMax:jack_port_name_connected. I have done this change to make understanding of jack configuration in jMax easier. With previous version you can have a configuration with the following label {foo, toto} but qjackconnect or jack_lspshowed something like jMax:bill_out and jMax:bob_out.  Now if you connect jMax to alsa_pcm:playback1, you will see in jack_lsp or qjackconnect: jMax:alsa_pcm:playback_1.
	  - TODO: add support for several unconnected jMax jack audio port.

	* packages/signal/c/src/biquad.c: fixed initialization of biquad~ coefficient.
	added error message if biquad~ arguments are not numbers.

	* packages/signal/c/src/delay.c: fixed initialization of delay~, tapin~ and tapout~ objects.

	* packages/signal/c/src/threshold.c: added default values for threshold~.

2003-07-29  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/dsdev/c/src/dsaudioport.c (dsaudioport_output): fill buffer with 0 if channel is not used.

2003-07-25  Norbert Schnell  <Norbert.Schnell@ircam.fr>

	*  class.c: temporarily added condition to method_get to avoid crashes while loading patches

2003-07-24  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* utils/rpm/jmax.spec.in: added macros to set path for java, javac and jar.
	 - use --define='java path_to_java' when calling rpm (rpmbuild) if you want to use a particular java, javac or jar:
	  e.g:
	  If you want to use Java SDK 1.4.1_02 from SUN:
	  $ rpmbuild --define='java /usr/java/j2sdk1.4.1_02/bin/java' --define='javac /usr/java/j2sdk1.4.1_02/bin/javac' -ba jmax.spec
	 - removed obsolete files (LICENCE.fr, LICENSE) and added COPYING, ChangeLog and AUTHORS
	 - reflected change of package installation directory.
	 
	* fixed distcheck for jMax.

	* java/src/Makefile.am: removed jmax.jar.root in distclean.
	
	* config/Makefile.am: fixed uninstall of default_project.jprj and default_config.jcfg

	* Makefile.am: removed obsolete files from EXTRA_DIST.

	* configure.in: added a configure flag to enable compilation of unixdtd packages.

	* packages/Makefile.am: added a conditionnal to compile unixdtd packages (maybe we could removed unixdtd packages?).
	
	* m4/ac_prog_javac.m4 : since jMax can't compile with gcj, I have removed gcj from the list of checked java compiler.

2003-07-24  Carl Seleborg  <seleborg@licorne.ircam.fr>

	* packages/guiobj/help/messconst.help.jmax : Added parentheses around expressions (to work with the new syntax).

2003-07-23  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* configure.in, m4/ac_check_java_version.m4: added a m4 macro for checking version of java.
	Now configure failed if version of java used is less than 1.4.0
	Java test are only done if java compilation is enable.

	* configure.in, java/src/ircam/jmax/JMaxApplication.java, utils/jmax-config/jmax-config.in, utils/pkgconfig/jmax.pc.in and all Makefile.am in packages: changed installation directory of packages.
	Now packages are installed in ${libdir}/jmax/packages/
		
2003-07-22  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* moved license to GNU Lesser General Public License. Changed all headers,
	removed old license files and added new one.

2003-07-22  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* configure.in: added configure error if check class of javax.swing.JButton failed.

	* fixed bug [ 775548 ] Compilation on RedHat 9 (java part with jdkgcj package installed).

2003-07-21  Carl Seleborg  <seleborg@licorne.ircam.fr>

	* java/src/ircam/jmax/editors/patcher/actions/*.java
	* java/src/ircam/jmax/editors/patcher/menus/*.java
	* java/src/ircam/jmax/editors/patcher/*.java
	* java/src/ircam/jmax/toolkit/actions/*.java
	* java/src/ircam/jmax/toolkit/menus/*.java
	* Modified menus to use actions instead of menu items.
	* Fixed bug "[ 768933 ] Ctrl-c, Ctrl-x and Ctrl-v".

2003-07-18  Norbert Schnell  <Norbert.Schnell@ircam.fr>

	* changed post() to fts_post() and post_atoms() to fts_post_atoms()

2003-07-17  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* java/src/ircam/jmax/editors/configuration/ConfigurationEditor.java: displayed path of configuration file in "Configuration Editor" window title.

	* java/src/ircam/jmax/editors/project/ProjectEditor.java: displayed path of project file in "Project Editor" window title.

	* fixed bug "[ 772296 ] where is the default_config.jprj file?".

	* packages/numeric/c/src/count.c (count_set_mode): fixed handling of message "mode wrap".

	* fixed bug "[ 772378 ] Small error in help patch".
	
	* packages/ispw/c/src/pipe.c: fixed several crashes.

	* fixed bug "[ 772299 ] pipe object"

	* fts/message.c (unfold_atom, unfold_varargs): fixed atom assignment.

	* fixed bug "[ 772302 ] messtup doesn't work"

2003-07-15  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* include/fts/audiofile.h : added missing function fts_audiofile_get_file_format.

2003-07-11  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* client/python/ircam/fts/client/FtsPipeConnection.py: fixed pipe communication in FTS python client library.

2003-07-10  Borghesi  <borghesi@mac-schnell3.ircam.fr>

	* java/src/ircam/jmax/editors/console/ConsoleWindow.java
	closed bug "[ 768934 ] Close Button in jMax Console".
	 "Close Button" of ConsoleWindow mapped on "Quit Action" 
	
2003-07-10  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>
	
	* fixed bug "[ 754960 ] package entry not saved to project file" with package.c 1.97, package.h 1.29, FtsPackage.java 1.21, ConfigPackagePanel.java 1.24.
	These files have been tagged with tag "BEFORE_BUG_754960" before committing the following changes.
	
	* java/src/ircam/jmax/editors/project/ConfigPackagePanel.java: the "used" box show if package has been successfully loaded (checked).
	The "used" box is only editable when not checked.

	* java/src/ircam/jmax/fts/FtsPackage.java: added handling of "requireError" message.
	
	* include/ftsprivate/package.h, fts/package.c: added return code for fts_package_require.
	added sending of message "requireError" with required package index if fts_package_require failed.
	
	* fts/package.c (__fts_package_save): closed bug "[ 754572 ] can't load project file".
	save package if only the package is dirty.

	* fixed bug "[ 766887 ] [udpsend],[udpreceive] incompatible" with udpreceive.c 1.27 and udpsend.c 1.24.
	These files have been tagged  with tag "BEFORE_CHANGING_PROTOCOL_TO_OLD_PROTOCOL" before committing the following changes.
	
	* packages/io/c/src/udpreceive.c, packages/io/c/src/udpsend.c, packages/io/c/src/jmax25_protocol.h:
	closed bug "[ 766887 ] [udpsend],[udpreceive] incompatible".
	changed protocol used by udpsend/udpreceive to protocol used in jMax 2.5.x
	
2003-07-09  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/guiobj/c/src/slider.c (slider_incr): added "incr" message support for slider.

2003-07-08  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/ispw/c/src/pack.c (pack_error_inlet): closed bug "[ 766895 ] [pack] weirdness bis" : added a console message if inlet > 0 receive doesn't receive a numer or a symbol.

	* configure.in, client/configure.in, m4/ac_prog_jar_update.m4, */jav/*/Makefile.am: added test to know if jar support -u flag (jar from gcj-3.2 doesn't support -u).
	added configure flag to set which jar to use (--with-jar=) 
	replaced jar by $(JAR) in Makefile.am

	* */java/*/Makefile.am: closed bug "[ 761311 ] make dist RedHat 8.0". 
	set EXTRA_DIST to package_JAVA.

2003-06-24  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* configure.in, packages/Makefile.am, packages/midishare: updated midishare package to jMax 4.x
	  - added configure flag for compilation/installation of midishare package.
	  - midishare package only allow one input and one output port.
	  - input tested with msplayer
	  - output tested with msdisplay
	  - connection with msplayer and msdisplay made by msconnect.

2003-06-17  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/audio.c, fts/client.c, fts/main.c, fts/sched.c, include/fts/sched.h, include/ftsprivate/sched.h:
	moved non public scheduler function (fts_sched_run, fts_sched_halt, fts_sleep) declaration to non public header.

	* packages/asio/:
	- ASIO Output wortks with M AUDIO USB QUATTRO (ASIOType is ASIOSTInt16LSB)
	- ASIO Input works with M AUDIO USB QUATTRO (ASIOType is ASIOSTInt16LSB)
	- Switch between ASIO callback and FTS scheduler not fully completed (it seems that ASIO -> FTS doesn't work).
	
2003-06-16  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fts/parser.y: fixed first syntax incompatibility with jMax 2.5, i.e. the fact that you cannot pass a + (or any other operator) as argument to an object. As it introduces an incompatibilty with jMax 4.0.x, the version number is moved to 4.1.0.

2003-06-13  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/asio/: this package add ASIO support on Windows version.
	  - ASIO Output works with M AUDIO USB QUATTRO (ASIOType is ASIOTInt16LSB).
	  - ASIO Input is not tested.
	  - TODO:
	    - test ASIO input.
	    - add switch between FTS scheduler and ASIO callback.
	    - add all conversion function between all ASIO format and FTS.

2003-05-28  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* client/python/ircam/fts/client/FtsServerConnection.py: fixed thread stop if socket is closed.

	* client/python/ircam/fts/client/FtsSocketConnection.py: use select before trying to read on socket (select is available on Windows for socket), removed exception handler for read and write (recv and send doesn't raise any exception).
	
	* packages/alsa/c/src/alsaaudiomanager.c (alsaaudiomanager_scan_plugins): avoid opening of dsnoop and dmix ALSA plugins (if you open/close these plugins devices are still opened). Thanks to Paul Brossier for bug report.

2003-05-26  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fixed C++ compilation when <fts/fts.h> is included.
	
	* include/fts/dsp.h: changed function argument class into cl (class is a C++ reserved keyword).
	
	* fts/patcher.c, include/fts/patcher.h, include/ftsprivate/patcher.h: 
	     * renamed member name template of fts_patcher structure into template_definition (template is a C++ reserved keyword).
	     * renamed this into self (this is a C++ reserved keyword).

	* added dsdev, mmio and winmidi packages in distribution.

	* added Visual C++ project/workspace files in distribution.

2003-05-22  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* utils/m4/jmax.m4: added a m4 file which contains AM_JMAX_CONFIG m4 macro.
	AM_JMAX_CONFIG set the following variables:
	    - JMAX_INCLUDES: compilation flag.
	    - JMAX_LDFLAGS: link flag.
	    - JMAX_PACKAGE_DIR: path to standard package installation directory.
	
2003-20-05  Diemo Schwarz  <schwarz@ircam.fr>

	* Added fvec methods get(min|max) and get(min|max)index that
	  return the value.

	* Finished fmat methods getcol, getrow.

	* Updated help patches.

	older changes not yet logged:
	
	* class.c: Force class to be instantiated before adding message.

	* Added track_remove_event_and_upload.

	* Fixed bug in scoob_property_get_by_index: output argument atom
	  pointer was fts_atom_assign'ed (i.e. old object is released!),
	  now atom is copied.



2003-05-19  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/audioconfig.c, fts/dsp.c, include/fts/dsp.h: added support for buffer size change in Audio Configuration Panel.

	* fts/dsp.c, include/fts/dsp.h: added fts_dsp_get_buffer_size, fts_dsp_set_buffer_size, fts_dsp_buffer_size_add_listener, fts_dsp_buffer_size_remove_listener functions.
	
	* packages/alsa/c/src/alsaaudioport.c: added support fior buffer size change in Audio Configuration Panel.

2003-05-16  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fixed Java bug on Windows. Now, all Java packages load OK.

2003-05-13  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* client/python/ircam/fts/client/*.py : added documentation for Python client library.

	* client/python/ircam/fts/client/FtsServerConnection.py: removed writeAtoms method.

	* client/python/ircam/fts/client/FtsPipeConnection.py: started to add a pipe connection for Python client library.
	
2003-05-09  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* client/python/ircam/fts/client/*: cleaning Python client library
	- removed Buffer.py
	- removed FtsArgs.py
	- removed FtsAtom.py
	- added FtsRawString.py (child of str type)
	- removed registerMessageHandler and invokeMessageHandler static method, now we call the method with the same name as the received selector.

2003-05-09  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* added under CVS utils/debian directory which contains the package definition files for Debian

2003-05-07  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fts/expression.c: fixed lookup of classes/templates. Before, when loading a template that was
	part of a package, the lookup was done only inside the package and its requires. Now, the lookup is
	done first in the package of the template and its requires and then in the project and its requires.
	This way, you don't have to add all the requires of "standard" packages in all the packages. 

2003-05-05  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/winbuild/packages.dsw : removed obsolete packages (Windows port)
	* packages/ispw/c/src/osc.h: added missing ISPW_API in function declaration (Windows port)

	* packages/numeric/c/src/numeric.h: added missing declaration of random_config (Windows port)

	* include/fts/packages.h: added missing FTS_API for fts_package_get_class declaration (Windows port)
	
	* packages/io/c/src/filestream.c, packages/io/c/src/wacom.c: applied patches send by Jarek Myszewski (Windows port).

	* packages/ispw/winbuild/ispw.dsp, packages/ispw/winbuild/ispw_java.mak: applied patches send by Jarek Myszewski (Windows port).

	* packages/midi/winbuild/midi.dsp :applied patches send by Jarek Myszewski (Windows port).

	* packages/numeric/winbuild/numeric.dsp :applied patches send by Jarek Myszewski (Windows port).
	
2003-04-29  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>, Riccardo Borghesi  <Riccardo.Borghesi@ircam.fr>

	* works on jMax Windows port (updated porject files, fixed source code).
	
	* include/ftsprivate/template.h, fts/patcher.c (patcher_open_help_patch): added support for 
	template help patch

2003-04-28  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* configure.in, fts/linux.c: added preprocessor conditionnal on USE_ALSA before loading alsa package.

	* packages/alsa/c/src/Makefile.am: use variable exported by alsa.m4 for CFLAGS and LDFLAGS.

2003-04-11  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/jmax.c: use pie connection as default connection (windows port)
	
	* fts/file.c, fts/jmax.c, fts/thread.c, fts/win32.c, include/ftsconfig-win32.h, include/fts/thread.h : applied patches send by Jarek Myszewsky (windows port)

2003-04-07  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/fts.c (fts_init): added --no-client flag to start fts without client support (use for libfts)

	* fts/linux.c, fts/macosx.c (fts_platform_init): change --jmaxConfig=noaudio into --no-audio flag to start fts without any "audio" packages loaded (used for jmaxladspa)

	* include/fts/patcher.h, fts/patcher.c: added fts_patcher_get_objects function which return an iterator 
	to enumerate all objects contained in a given patcher

2003-04-04  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* changed the client and object id C declarations in include/fts/object.h: used a bit field that 
	contains the object status (for object creation, error and deletion), the client id and the object
	id.
	* changed the access macros for object and client id: 
	  fts_get_object_id -> fts_object_get_id
	  fts_get_client_id -> fts_object_get_client_id
	  fts_object_get_id -> removed
	* splitted client.c into
	  ** client.c that depends only on bytestreams and that is 100% platform independant
	  ** clientmanager.c that still has some platform dependant socket code 
	* fixed realtpath in fts/file.c

2003-04-03  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* include/fts/predefsymbols.h: added fts_s_none ("none") and fts_s_noaudio ("noaudio") symbols

	* fts/macosx.c, fts/liunx.c (fts_platform_init): added noaudio config, it doesn't load any "audio" packages.

	* fts/fts.c (fts_load_project): 
	(fts_load_config):
	added none project, it doesn't load any project file.
	added none config, it doesn't load any config file.

	* packages/jack/c/src/jackaudiomanager.c: added non connected jMax to allow other applications to connect after 
	launching jMax.
	
2003-04-02  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/fts.c (fts_kernel_init): added call to fts_kernel_socketstream_init

	* fts/bytestream.c, fts/socketstream.c: added socketstream.c to CVS repository.
	moved fts_socketstream and fts_udpstream objects from bytestream.c to socketstream.c

2003-04-01  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/io: added missing in~/out~ help patch, fixed in/out help patch

	* fixed io summary open/close/reopen crash

	* fts/bytestream.c (fts_udpstream_delete): fixed udpstream destructor

	* packages/io/c/src/in_out_tilda.c (in_tilda_instantiate): fixed class instantiation

	* packages/io/c/src/udpreceive.c (udpreceive_delete): fixed udpreceive destructor

2003-03-31  Olivier Chapuis  <olivier.chapuis@free.fr>

	* packages/jack/c/src/jackaudiomanager.c (jackaudiomanager_thread_run):        
	(jackaudiomanager_halt):        
	(jackaudiomanager_config):
        Connect registered port only after the client has been activated

2003-03-27  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* packages/*/c/src/Makefile.am : add link to fts in packages Makefiles to fix link problems with LADSPA 
	standard applyplugin

2003-03-25  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fts/package.c (fts_package_require): Check required package loading before append package name to
	required pacakges list (closed bug [ 700877 ] crash on loading corrupt file )

2003-03-20  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fts/*.c: merged _config and kernel_*_init functions.

2003-03-19  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fts/audioconfig.c, fts/bmaxfile.c, fts/client.c, fts/midi.c, fts/object.c, fts/package.c,
	fts/variable.c, include/ftsconfig-ac.h.in, include/ftsconfig-win32.h, packages/ispw/c/src/atomlist.c,
	packages/numeric/c/src/abs.c, packages/numeric/c/src/clip.c: unified use of alloca().
	The rules are now:
	 - any file that uses alloca() *must* include ftsconfig.h
	 - any file that uses alloca() *must* do: 
	 #if HAVE_ALLOCA_H
	 #include <alloca.h>
	 #endif
	 - we don't use HAVE_ALLOCA and assume that all platforms will have alloca().
	
	* java/src/ircam/jmax/JMaxApplication.java, java/src/ircam/jmax/MaxWindowManager.java,
	java/src/ircam/jmax/editors/patcher/ErmesSketchPad.java, 
	java/src/ircam/jmax/editors/patcher/ErmesSketchWindow.java,
	java/src/ircam/jmax/editors/patcher/PatcherPrintManager.java,
	java/src/ircam/jmax/toolkit/menus/MaxWindowJMenu.java: 
	cleaned code for printing (I want to add a 'print' option to jmax in order to print files
	without manual intervention).

2003-03-17  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* integrating patches from Jarek for Windows compilation.
	
	* fts/binaryprotocol.c, fts/client.c: added missing casts

	* fts/fifo.c, include/fts/fifo.h: removed fts_fifo_reinit because it is not thread-safe. 
	The fifo.c implementation is made for a lock-free ring buffer that can be accessed 
	concurrently by 2 threads, so its API must only contain functions that do not break this.

	* fts/hashtable.c, include/fts/hashtable.h: removed unused function (get_unused_symbol...)

	* packages/control/c/src/fifo.c: copied fts_fifo_reinit there.
	
2003-03-12  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fts/atom.c: changed ANSI style 'type_id:...' initialization because
	of compilation problems on Windows.

2003-03-11  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* java/src/ircam/jmax/JMaxApplication.java: fixed overwriting of jmaxServerDir
	in method guessDirectories()

2003-03-10  olicha  <olivier.chapuis@free.fr>

	* java/src/ircam/jmax/dialogs/SplashDialog.java (SplashDialog):
	Set the size of the splash dialog

	* java/src/ircam/jmax/editors/console/ConsoleWindow.java (makeContent):
	Uniconify the floating toolbar when needed
	
2003-03-07  Riccardo Borghesi  <borghesi@livorno.ircam.fr>

	* FloatBox and IntBox (NumberBox) inherit from Editable

	* cleaned key bindings in patcher editor. 
	The complete list of keybindings :
	-) Cmd N : New patcher
	-) Cmd O : Open patcher
	-) Cmd S : Save patcher
	-) Cmd W : Close patcher window
	-) Cmd P : Print patcher window content
	-) Cmd Enter : Activate/Desactivate DSP
	-) Cmd Q : Quit jMax
	-) Cmd X : Cut selection
	-) Cmd C : Copy selection
	-) Cmd V : Copy clipboard content in current window
	-) Cmd Z : Undo
	-) Cmd Y : Redo
	-) Cmd I : Inspect selected objects
	-) Cmd A : SelectAll
	-) Cmd F : Find in opened patchers
	-) Cmd U : Bring to Front selected objects
	-) Cmd B : Send to Back selected obejcts
	-) Cmd E : Lock/Unlock patcher window
	-) Cmd T : Fit to Text selects objects
	
	-) Cmd R : Display Errors
	-) Arrows : Move selected objects
	-) Shift Arrows : Move by 10 pixels selected objects
	-) + or - : resize width of selected objects
	-) Shift + or - : resize width by 10 pixels of selected objects
	-) Cmd Arrows : align (top, bottom, left, right) selected objects
	-) Cmd + or - : change font size of selected objects
	-) Cmd Shift ArrowUp (or ArrowDown) : align height of selected objects to the maximum height (or to the minimum height)
	between selected objects
	-) Cmd Shift ArrowLeft (or ArrowRight) : align width of selected objects to the maximum width (or to the minimum width)
	between selected objects
	-) Delete or Backspace : remove selected objects

2003-03-05  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* 4.0.2 released 

2003-02-27  Francois Dechelle  <dechelle@mac-dechelle.ircam.fr>

	* fixed Mac OS X audio port opening w.r.t. ports that are unidirectionnal.

2003-02-26  Francois Dechelle  <dechelle@mac-dechelle.ircam.fr>

	* changed Mac OS X audio port to support multiple devices. BUT it does not work 
	(mainly because the IOProcs are called in different threads). Current fix is to
	allow only the default output device in the configuration.

	* fixed fts/audio.c: when changing a label's port, channel change to 0 was not mirrored 
	to the client.
	
2003-02-25  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* change fts_udpstream_t implementation
	constructor arguments:	   
	   <input>: port (int)
	   <output>: host (symbol) port (int)

	constructor call:
           udpstream <input>          : can receive
	   udpstream <input> <output> : can receive and send
	   udpstream <->     <output> : can send  
	   
	
	* now udpstream is never connected
	
	* remove fts_udpstream_get_port, fts_udpstream_get_connected_port, fts_udpstream_connect
	and fts_udpstream_disconnect functions.

	* remove unused fts_tcpstream_t and fts_tcpstream_class

2003-02-25  Norbert Schnell  <schnell@mac-schnell2.ircam.fr>

	* fixed several (unreported) minor bugs in object set
	* added missing help patches in all packages but signal and io

2003-02-24  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* begin to fix "Open Project" FTS crash

2003-02-21  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* cleaned the default project/configuration search
	* fixed Mac OS X default project/configuration file names

2003-02-21  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fix bug "[690449] osc~ help patcher does not define $w" submitted by etienne (edelefile) on sourceforge

2003-02-20  Patrice Tisserand <Patrice.Tisserand@ircam.fr>

	* add fts_file_find_in_env function (find a file in paths defined by the contains of an environment variable

	* move fts_file_find_in_path declaration from jmax/ftsprivate/file.h to jmax/include/fts/file.h (this function is now public)

2003-02-20  Norbert Schnell  <schnell@mac-schnell2.ircam.fr>

	* fixed MacOS X MIDI input (no more delay!)
	* fixed ugly bug in patcher data (inversed arguments in fts_heap_free when destroying)
	* reimplemented midiconfig listener with fts_objectlist_t (removed fake variable in root patcher)

2003-02-19  Olivier Chapuis  <olivier.chapuis@free.fr>

	* packages/alsa/c/src/alsaaudioport.c
	(alsaaudioport_open_input):
	(alsaaudioport_open_output):
	(alsastream_open):
	Closed the pcm if an error occur. Do not log error msg when the null
	plugin is used

	* packages/alsa/c/src/alsaaudiomanager.c
	(alsaaudiomanager_get_channels_max): 
	Closed the pcm handle if we cannot get the hw config
	
2003-02-18  Patrice Tisserand <Patrice.Tisserand@ircam.fr>

	* add a popup "Open File" DialogBox if readsf/writesf object receive open message 
	without argument

2003-02-17  Patrice Tisserand <Patrice.Tisserand@ircam.fr>

	* udpsend now use fts_binary_protocol for message encoding
	
	* udpsend now use a fts_udpstream_t instead of his own udp socket implementation.
	
	* add disconnect support for udpin/udpout objects
	
	* add disconnect function for fts_udpstream_t

	* change constructor in fts_udpstream_t (only connected if 2 argument are given)
	
	* add enconding functions for binary protocol
	
	* add udpin and udpout object (jmax/packages/io/c/src/udp.c).
	  these new object are used to create an udp connection. They use a fts_udpstream_t object for communication abstraction.

	* clean fts_udpstream_t implementation (use recv/send instead of read/write see man socket(2))	

2003-02-13  Patrice Tisserand <Patrice.Tisserand@ircam.fr>

	* add fts_udpstream_t in bytestream.c

	* udpreceive now use a fts_udpstream_t instead of his own udp socket implementation
	
	* start to separate client and binary protocol decoder
	  files added :
	    jmax/fts/binaryprotocol.c
	    jmax/include/fts/binaryprotocol.h
	  
	   Actually client still contains binary protocol decoder code, but it will change in a few days.
	   We need to add "callback" when decoding, there is specific client code in end_message_action and end_object_action functions.

	 * udpreceive.c now use fts_binary_protocol for message decoding

2003-02-13  Norbert Schnell  <schnell@mac-schnell2.ircam.fr>

	* transformed note into score object scoob (package sequence)   

2003-02-12  Norbert Schnell  <schnell@mac-schnell2.ircam.fr>

	* adapted define object in order to declare constants and template arguments (help patch to be added)

2003-02-11  Norbert Schnell  <schnell@mac-schnell2.ircam.fr>

	* fixed template arguments in vm
	* introduced scope flag in patcher (set to 1 for all toplevel patchers including templates)
	* removed define object
	* fixed sending tuple to param object

2003-02-11  Riccardo Borghesi  <borghesi@livorno.ircam.fr>

	* add "Package Path" tab in Project Editor. User can now defines new package paths
	in addition to the defaults.

2003-02-07  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* 4.0.1 released

	* add "Open Configuration" menu implementation

	* add "Save As Default Configuration" menu implementation

	* remove preprocessor warning in audioconfig.c, sysinfo.c and adc_tilda.c
	
2003-02-07  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* cleaned exceptions report code in JMaxApplication.

	* added "New Configuration" menu implementation. Dirty code in ConfigurationEditor,
	makes FTS crash quite often. Note: it is currently not possible to "delete" an object from
	the client in a generic way, i.e. to close its editor and delete it in FTS.

2003-02-05  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* added debug code in Java client library. Debug code is activated by setting
	system property "ircam.fts.client.debug" to "true". This can be done by starting
	Java virtual machine with option -Dircam.fts.client.debug=true

	* added "Save As Default Project" implementation

	* changed fts_get_user_project to create the jMax user directory if it does not exist

2003-02-05  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* remove platform dependant default project files:
	   default_project_linux_alsa.jprj
	   default_project_linux_jack.jprj
	   default_project_linux_oss.jprj
	   default_project_macosx.jprj
	   default_project_win32.jrpj

	* hardcoded platform dependant packages in fts_platform_init

	* rename client_pipe_install into exported fts_client_pipe_start

	* rename client_tcp_manager_install into exported fts_client_tcp_start

	* move pipe connection test from fts_client_config (jmax/fts/client.c) to fts_init (jmax/fts/fts.c)

	* merge fts_kernel_init and fts_kernel_classes_config

	* add a null audio port that is always valid but never opened and that corresponds to the name "-"

	
2003-02-04  Diemo Schwarz  <schwarz@ligeti.ircam.fr>

	* play~ understands start message, for consistency with play.
	  Updated help.

	* sequence package changes by Norbert, Riccardo, Diemo:
	Removed spurious "A track with this name already exist!" message.
	Editors	update track/sequence name in window.
	Fixed bug with track persistence -> no more crash on loading saved tracks.
	Added track_highlight_* functions.
	Added message "start" for play object.
	Locate message does not play immediately, but displays position
	using new track_highlight_time function.
	Updated help.


2003-02-04  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* add command line arguments for project and AUDIO/MIDI configuration files

2003-01-30  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* changed all "Authors:..." and "Based on MAX/ISPW" in all files.

	* changed the GUI for project/configuration editing. The configuration editor
	is now accessed via the "Project" menu, with the same functionalities as the project
	editor.
	Added a first ebauch of a generic file loader in FTS. But this requires too much work
	in order to be able to replace "Open project", "Open configuration" and "Open package"
	by the "Open" of the file menu.

2003-01-30  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* add load of AUDIO/MIDI configuration file at startup

2003-01-29  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* make adc~/dac~ aliases to input~/monitor~

2003-01-23  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* rename default project files:
	    config.jprj -> default_project.jprj
	    config_linux_alsa.jprj -> default_project_linux_alsa.jprj
	    config_linux_oss.jprj  -> default_project_linux_oss.jprj
	    config_macosx.jprj     -> default_project_macosx.jprj
	    config_win32.jprj      -> default_project_win32.jprj

	* add default project file for jack audio connection kit
	default_project_linux_jack.jprj
	
	* default project name is now: default-project.jprj

	* use predefined symbol fts_s_default_project in linux.c/macosx.c/sgi.c/win32.c
	instead of old hardcoded "config.jprj"

	* rename fts_get_user_config/fts_get_system_config into 
	fts_get_user_project/fts_get_system_project
	
	* (linux) change jmax default user nmae into $JMAX_PREF_DIR/default-project.jprj
	if environment variable JMAX_PREF_DIR is not set, use $HOME/.jmax 

2003-01-23  François Déchelle  <dechelle@mac-dechelle.ircam.fr>

	* update Mac OS X audio port for default device.

2003-01-21  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* update alsa audioport. Works with input and output

	* update jack audioport. Works with input and output
	
2003-01-20  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fixed channel_used updating (channels were set as used but were never reset).
	Removed labels list in audioport (now, only a counter)

	* changed audio API to 1) fix the problem of unused channels not being muted
	and 2) reduce the number of function calls by pointer

2003-01-13  Francois Dechelle  <dechelle@ircam.fr>

	* fixed audio on Mac OS X. Works with input and output.

2003-01-09  François Déchelle  <dechelle@mac-dechelle.ircam.fr>

	* audio output works on Mac OS X (tested with builtin audio and MOTU 828)

2003-01-07  Francois Dechelle  <dechelle@mac-dechelle.ircam.fr>

	* audio in progress on Mac OS X

2003-01-03  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* update input~ object to use new audiolabel/audioport API
	* audio in works with jack

2002-12-31  Norbert Schnell  <schnell@mac-schnell2.ircam.fr>

	* removed patcher from fts_object_create()
	* finalized initstantiation and runtime error reporting
	* fixed seqence and track saving/loading (now based on dumper)

2002-12-27  Norbert Schnell  <schnell@mac-schnell2.ircam.fr>

	* first modest doc revision for version 4
	* added user doc for writing FTS classes (doc/classes.html)

2002-12-26  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* Audio out works with jack.

2002-12-26  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fixed many bugs in audio and ossaudioport. Now, audio out works with OSS.

2002-12-24  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* commited a first version of working audio, including the "monitor~" object

2002-12-20  Norbert Schnell  <schnell@mac-schnell2.ircam.fr>

	* encapsulated all patcher related fields of fts_object_t to patcher_data structure only allocated when needed
	* introduced new API call fts_object_error() (replacing fts_object_signal_runtime_error and fts_object_set_error)

2002-12-17  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* commited an intermediate version of audio. It currently does not compile, but
	include the necessary prototypes for updating the audio ports.

2002-12-16  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* add python fts client into autoconf stuff (install into $(datadir)/jmax/client/python).
	We can't use AM_PATH_PYTHON which is only available for automake version > 1.5 (RedHat 7.3 use automake-1.4-p5)

2002-12-12  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fixed templates w.r.t. $args[] variable and object description

2002-12-10  Norbert Schnell  <schnell@mac-schnell2.ircam.fr>

	* finalized method declaration API and outlet/message sending dispatcher
	* added doxygen (like) comments to header files (class.h and message.h)

2002-12-10  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* (re)added templates. Changed expression.c for object evaluation.

2002-12-09  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* Split audio.h into audio.h, audioconfig.h and audiolabel.h

	* Clean ftsprivate header to be conform with current convention (no include in header)

2002-12-06  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* Split audio.c into audio.c, audioconfig.c and audiolabel.c

	* Work in progress for client<->server audio configuration communication

2002-12-03  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* Begin to merge audio and midi configuration in fts/config.c:
	- create audioconfig_type class
	- create config_type class

	* Begin to add emacs local variables for indentation to modified files

2002-11-29  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* changed hashtable.[ch]: hashtables now accept keys of any type. A class can set its
	hash function and equality function that are used if hashtable key is an object.

2002-11-21  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* first setup for multi rpm building
	
	* add config.h, config-ac.h.in (autoconf), config-win32.h (windows) and config-macosx.h (macosX) for system dependant configuration of installed package headers
	
	* add a configure flag to disable jMax java compilation (--disable-java-part or --enable-java-part=no)

	* remove java test if jMax java compilation is disabled

2002-11-14  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* commited first version of Python FTS client client/python
	This is a port of C++ code into Python. It will need a refactoring to be more "python" and less "C++"

	* python client can send message to FTS

	* python client can receive message from FTS and correct handler is called (see client/python/testClient.py)
	
2002-11-13  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* Fix a race condition in FtsSocketConnection (cpp client)

	* client can receive message from FTS and correct handler is called (see test1.cpp)

2002-11-07  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* added message handler management and receive thread to the C++ client library

	* cleaned the C++ version of the client library: removed FtsSymbol
	(now const char *), remove FtsServer (merged into FtsServerConnection).
	Client to FTS communication works. FTS to client not yet implemented.

2002-11-05  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* added the C++ version of the client library

2002-10-25  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* 4.0.0 released

2002-10-14  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* added . (dot) operator. Changed the grammar, the structure of the parse tree
	and the expression evaluator.

2002-10-10  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* implemented persistency (former keep property) for concerned objects (data, sequence, fts param, ...)
	* implemented named objects

2002-10-07  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* classes are objects
	* expressions can contain object expression (:class_name arg1 arg2 ...)
	at any level
	* hashtables key type is now a class

2002-10-06  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* reimplemented error objects as seperated class
	* reimplemented names and definitions (former variables) with hashtables in top level and template patcher 

2002-10-02  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* removed definitively metaclasses.
	* remove fts_object_new_to_patcher. Now, only 2 functions to create an object:
	fts_object_create and fts_eval_object_description

2002-10-02  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* removed properties related to the DSP subsystem
	* introduced fts_dsp_object_t as base structure for all DSP objects
	* changed API for DSP objects: fts_dsp_object_init(), fts_dsp_object_delete(), ...
	* adapted object set to DSP API changes

2002-09-30  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* changed bmax file magic number. It is now bMa2 (was bMax) and the 
	version number is passed to the loader. This is necessary for compatibility
	w.r.t. 2 things:
	 - the : is now part of the object description and is saved (it is skipped
	in the display of the object description)
	 - the variables that will be defined by a "define" object
	bMa2 files will not be loadable by jMax version 3.x or before. bMax files can
	be loaded inside jMax 4 and a compatibility layer handles conversion of the
	object description.

2002-09-26  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* reimplemented fts message system (API to be documented)...
	* adapted object set to new API

2002-09-25  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* added parsing of object expressions to the expression parser/evaluator.
	Reimplemented fts_eval_object_description using this parser.
	* remove fts_object_blip
	* templates are not supported yet, but will be back soon

2002-09-21  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* introduced variable number of in/outlets for objects
	* reimplemented message dispatching using a hashtable per inlet (to be changed!!)
	* removed metaclasses from entire object set
	* reimplemented in/outlets of patchers
	* reimplemented send/receive (== inlet/outlet) as a generic mechanism

2002-09-13  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* removed properties from real time updates (updates.c) 

2002-09-10  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* change package exported header file hierarchy. Now exported header file are located in 
	package_name/c/include and no more in package_name/c/src
	Exported header files are installed in:
	$(includedir)/fts/packages/package_name
	
	The following files were moved:
	   data/c/src/bpf.h    -> data/c/include/bpf.h
	   data/c/src/cvec.h   -> data/c/include/cvec.h
	   data/c/src/data.h   -> data/c/include/data.h
	   data/c/src/fmat.h   -> data/c/include/fmat.h
	   data/c/src/fvec.h   -> data/c/include/fvec.h
	   data/c/src/ivec.h   -> data/c/include/ivec.h
	   utils/c/src/utils.h -> utils/c/include/utils.h

	* change Makefile.am of the following packages to reflect file hierarchy changes:
	   data/c/src/Makefile.am
	   guiobj/c/src/Makefile.am
	   ispw/c/src/Makefile.am
	   numeric/c/src/Makefile.am
	   signal/c/src/Makefile.am
	   utils/c/src/Makefile.am
	  
2002-09-09  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* replaced remaining API elements that included capital letters (fts_Success -> fts_ok
	and fts_SystemInlet -> fts_system_inlet)

2002-09-09  Patrice Tisserand  <Patrice.Tisserand@ircam.fr>

	* fix code of dtdserver, now dtdserver constructor is called by fts_object_new_patcher 
	and not only by readsf_init. So now dtdserver destructor is called by fts_shutdown
	
2002-09-06  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* moved client/server protocol to "double" values. Changed the client Java API
	to addDouble, doubleValue & co.

2002-08-08  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* removed class name from constructor (init method)
	* transformed fts_param_t to an object (param.c)
	* reimplemented dsp_on param based on the new fts_param_t as dsp_active_param in dsp.c
	* converted messtab in data package to dict (now dict.c, dict.h)
	* moved many classes from the ispw package into the packages control, numeric and signal
	* implemented many new classes and generalized old ones (see summary patches)
	* finalized new delayline (dline~, tapin~, tapout~)

2002-07-31  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* fixed message box w.r.t. tuple and messages. To summarize, start 1 2 3 is
	a message and (start 1 2 3) is a tuple.

2002-07-25  Patrice Tisserand  <tisseran@lithium.ircam.fr>

	* first integration of ALSA sequencer objects.
	These objects will provide MIDI port connected with ALSA sequencer server,
	so these ports will be available for read/write to others ALSA sequencer clients.
	The following files were added:
	        packages/alsa/c/src/alsaseqmidi.h
		packages/alsa/c/src/alsaseqmidi.c
		packages/alsa/c/src/alsaseqmidiport.c
	
2002-07-24  Patrice Tisserand  <tisseran@lithium.ircam.fr>
	
	* clean documentation directory.
	Add rules to Makefile.am to generate documentation with doxygen.
	Add creation of Makefile in doc directory in configure.in
	The following file was added:
	        doc/api/Makefile.am
	The following file were removed:
	        doc/api/html/files.html
		doc/api/html/index.html
		doc/api/html/modules.html
	
2002-07-23  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* removed all doctors
	* moved old expression evaluation to OLDexpression.[ch]. Renamed in calling code 
	(fts/patcher.c, fts/object.c) fts_expression to fts_oldexpression.
	* separated implementation of expression evaluator in fts/parser.c (the parser that
	creates the parse tree) and fts/expression.c (the evaluator that goes through the
	parse tree to evaluate it).

2002-07-17  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* removing old expression implementation and moving to the new
	parser/evaluator.
	First step is to remove all unnecessary inclusion of OLDexpression.h.
	This implied changing fts_run_mess_vm and was the occasion to merge all
	files dealing with file loading into one file per file format (.pat and .jmax)
	The following files were added:
		fts/bmaxfile.c
		fts/patfile.c
		include/ftsprivate/bmaxfile.h 
		include/ftsprivate/patfile.h 
	The following files were removed:
		fts/loader.c
		fts/patparser.c
		fts/saver.c
		fts/vm.c 
		include/fts/soundfile.h
		include/ftsprivate/bmaxhdr.h 
		include/ftsprivate/loader.h
		include/ftsprivate/patparser.h 
		include/ftsprivate/saver.h
		include/ftsprivate/srconv.h 
		include/ftsprivate/vm.h 

2002-07-08  Francois Dechelle  <dechelle@limbe.ircam.fr>

	* commited first version of the message box with expression parser

2002-06-25  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fts/object.c: removed unused functions fts_object_send_properties
	and fts_object_send_properties_immediately

2002-06-11  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added include/fts/fifo.h and fts/fifo.c that may help writing
	Mac OS X midi port and messages fifos. Reused the code from unixdtd package.

2002-05-28  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* moved object description unparsing from JAVA to FTS. Added memory byte stream.

2002-05-22  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added raw strings in the protocol. A raw string is a string that is tokenized
	into atoms on the FTS side by the new FLEX tokenizer (see fts/tokenizer.l)

	* changed protocol decoding state machine in client/java and fts/client.c

	* cleaned Java client library (removed non necessary classes)

2002-05-21  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* removed connections from atoms.

2002-04-09  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* removed old functions for file searching and implemented fts_file_find
	that looks in project path and then in required packages paths. Cleaned
	code in file.c. Changed objects w.r.t. this change.

	* hacked loading of patch files so that the search paths of the
	project contains the directory of the patch file.

2002-04-08  Franois Dchelle  <dechelle@lipari.ircam.fr>

	* changed JMaxApplication so that it can guess its directory from the jmax.jar
	file.
	* added parser (the code is there, but not called for now)

2002-03-27  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* reintroduced midievent from 3.0.x branch
	* added classes control/dispatch.c control/make.c control/mess.c control/tup.c 
	* minor changes in fts/audiofile.c
	* adapted fvec.c (table~ and tab1~ to be tested!)

2002-03-15  Franois Dchelle  <dechelle@mac-dechelle.ircam.fr>

	* fixed audio on Mac OS X and added time-constrainted scheduling

2002-03-15  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* removed class name from class instantiation functions in class.c and all objects
	* fts_object_create() now works with metaclass
	* bug fix in object redefinition and metro (crashed when redefined while running)
	* removed math package from compilation

2002-03-14  Franois Dchelle  <dechelle@mac-dechelle.ircam.fr>

	* fixed packages compilation problems on Mac OS X (libtool is edited
	by configure+sed). Fixed wrong ENDIAN macro in utils.h

2002-03-12  Franois Dchelle  <dechelle@mac-dechelle.ircam.fr>

	* fts/audio.c: fixed code for installing default audio port class

2002-03-08  Franois Dchelle  <dechelle@mac-dechelle.ircam.fr>

	* fixed packages compilation problems on Mac OS X:
Problem on Mac OS X with shared libraries:
1) Apple has introduced starting at version 10.1 the "two-level namespace" that requires
that shared libraries and "bundles" (shared libraries that can be dlopened()) do not have 
unresolved symbols. This can be done by linking the bundle against the shared libraries
that defines these symbols and passing flag "-no-undefined" to libtool
2) libtool does not support correctly linking a shared library against other shared libraries
that are not installed. This is known in libtool terms as "inter-library dependencies" and is not 
supported by libtool until version 1.4

The first trial was to add all the dependencies on other shared libraries. This did not work because
of the libtool problem described above.

The second trial was to pass flag -flat_namespace to the linker (flat_namespace libraries can
have unresolved symbols). But libtool filters the options when linking (i.e. libtool --mode=link)
and the flag -flat_namespace was not passed to the linker.

The solution that seems to work is to add rules for colling explicitely the C compiler and to
install the .so library that was produced.


2002-03-05  Franois Dchelle  <dechelle@mac-dechelle.ircam.fr>

	* porting of version 3.1 to Mac OS X: fixed automake problems, compilation problems

2002-02-21  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* reimplemented updates with the new client connection. Changed a little
	bit ircam.fts.client, copied old code to fts/client.c (the API is not changed
	right now). And removed OLDclient.c...

2002-02-18  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* java: added JMaxClassMap to centralize data bases of object creator,
	icons, cursors

	* cleaned a lot the Java code of package ircam.jmax

	* added FtsServerEvent in client/java/ircam/fts/client

2002-02-14  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* java/src/ircam/jmax: added package loading, changed implementation of
	package class loader (was not JDK 1.2 compliant)

	* fts/: removed global object table. Object table is local to the client.

2002-02-13  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* changed the java Makefiles in client/ and java/ for compiling under
	recent version of automake

	* moved client/java/ircam/ftsclient to client/java/ircam/fts/client

	* changed the MessageHandler interface, changed accordingly FtsArgs
	and FtsAtom

2002-02-08  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* changed the atoms implementation. The tag was a symbol, it is now a hacked
	fts_metaclass_t * (hacked by the last bit that is set to one to identify 
	primitive types). 

	* changed the post implementation. post and other functions now print the
	characters on a byte stream. The clients can install their default console
	byte stream.

2002-01-22  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* changing FTS code to remove symbol cache index from symbol structure
	and to remove also is_operator (replaced by a hash table). Removing fts_symbol_name().
	NOTE: this code does not work because of the use of some pointer bits in the type
	field of the atom. So, moving now to atom type as int.

2002-01-18  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* changed client library to integrate symbol cache. Added FtsSymbol, splitted
	the code in different classes with cleaner interfaces.

2001-12-27  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fixed unixdtd package compilation errors w.r.t. API changes

2001-12-18  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* changed close strategy for patcher window (now destroys graphical instances)
	* renamed interface messages for graphical editors (fts_s_openEditor, ...)

2001-12-18  Francois Dechelle  <dechelle@lipari.ircam.fr> and Peter Hanappe <peter@hanappe.com>

	* integrated client library in jMax sources. Reorganized it in order to have
	different connection types. Added pipe connection. Changed accordingly fts/client.c

2001-12-17  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* implemented MIDI file export for note and midievent tracks in track of package sequence
	* reviewed behaiviour of import and export messages to track and sequence

2001-12-15  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* adjusted objects of sequence package
	* introduced track of midievents with import from MIDI files (todo: export)
	* added void type to track and removed midival
	* moved seqplay to play
	* moved seqrec to record
	* new (experimental) object dumpfile in package data 
	* introduced keep property to sequence and track
	* implemented templates ldeco and lcomp as classes in package lists

2001-12-07  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* introduced fts_dumper_t as general mechanism for save and dump (adapted saver.c)
	* implemented dump for all data classes in packages data and sequence
	* moved check of keep property to bmax saver
	* changed preset: now is based on set_from_instance method and dumper (for saving)
	* moved all method declarations to fts_method_define_varargs

2001-11-29  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* removed timer from time.c and added timebase scheduling functions
	* added object referencing to client updates
	
2001-11-20  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* rewrote midiport and midifile modules based on new fts_midievent_t class
	* rewrote timing system bases on fts_timebase_t and fts_timer_t (doc needs to be added to time.h)
	* adapted classes using alarms, timers, and clocks (to be tested)

2001-10-29  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* listelement.c: bug fixed (crashed for negative indices)

2001-10-26  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* rewrote mechanism for undefined labels
	* changed sysex handling in midi parser and midi objects (no more id prepend to sysex block)
	* fixed Rsend/Rreceive

2001-10-26  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* changed client.c: a client has a root pacher that is deleted
	when the client disconnects.

2001-10-23  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* added package to metaclass and template for fts_object_get_package()
	* changed API function fts_(meta)class_alias() to fts_alias_install()

2001-10-23  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* Changed fts/client.c. The FTS object that is created by the client
	is now "client_controler", needs a symbol as argument (and thus no longer
	the "$" on the client side) and can be connected either to a bus or to 
	a label.

2001-10-22  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* bug fixed in class mat method function set_size
	* removed mess package (classes moved to package data)
	* changed getlist to generic object without arguments
	* replaced fts_set/get_list by fts_set/get_array
	* fixed bug for lists in switch class

2001-10-17  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* Fixed bugs in fts/client.c. Now, the client does not have
	to create the "throw" object by hand. Added also a "connect_object"
	method in the client object.

2001-10-16  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* Fixed a bug in package saving: vm opcode return was missing

	* Added --enable-electric-fence to configure

2001-10-15  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* Changed kernel initialization: now splited into fts_kernel_*_init 
	(initialization of kernel structures) and fts_*_config (installation
	of kernel classes), so that the kernel objects can 1) access the
	command line arguments and 2) rely on the fact that the necessary
	platform initializations are done.

2001-09-28  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* changed fts/saver.c in order to be able to open a .jmax file
	outside saver.c. Tested that you can save any object in a .jmax
	file. This is for saving package object.

2001-09-14  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* moved all packages to automake/autoconf

2001-09-07  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* moved java/ compilation to automake/autoconf

2001-07-24  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* changed messtab to a double (int/symbol) hashtable and
	added putmess and getmess classes

	* changed messconst (package guiobj) to use the message class
	
	* added message class with list constructor (init)

2001-07-24  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fixed invalid license header in some Java files.

2001-07-20  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* changed fts_hashtable_t. Now, hashtable do rehashing, accepts any
	key type, use a good hash function for strings and can replace 1)
	the symbol table, 2) the object table. There is even a documentation
	of the API...

	* added fts_iterator_t, a generic iterator structure. It is implemented
	only for hashtables.

2001-07-13  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* added method for "incr" to intbox and floatbox

	* added tutorials to source tree

2001-07-10  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fixed bug introduced in fts_dsp_declare_inlet by fts_class_get_method

	* changed the scheduler API (fts_sched_add, fts_sched_remove). Changed
	all the objects using it.

2001-07-06  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* remove fts_method_exists, which was a complete duplication of 
	fts_class_has_method...

	* fixed watchdogs not exiting on FTS crash

	* changed VERSION and all Makefiles using it, in order to include a version
	status saying that the binaries are build from a cvs tree and not from a final
	version.

	* fixed a few bugs in readsf~/writesf~

2001-07-02  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* updated doc
	   - simplified header with new icon
	   - updated DSP object development page

	* added doxygen doc to sched.h and dsp.h (updated doxygen config file)

	* added dspgraph.h and audio.h

	* updated dsp.c, dspgraph.c and audio.c
	   - encapsulated dsp graph to a structure fts_dsp_graph_t and added corresponding API
	   - added fts_dsp_get_time()

	* updated sched.c
	   - added clock and status to the scheduler
	   - added fts_get_time()

	* updated time.c 
	   - removed named clocks
	   - changed API for fts_clock_t
	   - changed API for fts_alarm_t

	* added sample pool to signal package (not yet used in an object)

	* added play~ for fvec or bpf and rec~ for fvec to signal package

	* removed classes clock and at (from ispw package)
	
	* added error posting to alsarawmidiport, alsaaudioport and ossaudioport

2001-06-27  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* moved fts/src/runtime/client/protcodec.c code to udpsend and udpreceive objects.

	* removed include/fts/runtime/client/protcodec.h

2001-06-15  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* added automatic track naming to MIDI file import of the sequence class

	* added fvec abd bpf player to signal package (to be completed)

	* new splash screen
	   - adapted Java code) 
	   - changed "jMax version" string to "release"
	
	* new icon (images/jmax_icon.gif)

2001-06-13  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* remove Fts standard error window and move FTS standard error to a
	file ($HOME/.fts-stderr).

	* fixed audioport bug (null audioport was not instanciated, resulting in
	100% CPU)

2001-06-05  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fixed multichannel bug (all outlets of a dsp objects were allocated the
	same buffer. Came from a stupid bug in fts/src/lang/dsp/signal.c)

2001-05-30  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* moved all platform specific code to one file per platform (instead of
	one directory per platform)

2001-05-28  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* java/src/ircam/jmax/fts/FtsParse.java: 
	   - decimal separator now fixed to '.'
	   - fixed parsing bug for the instantiation of "==", "!=", etc.
	   - fixed parsing bug for float starting with "."

2001-04-27  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* added Wacom V (Intous) support to packages/io/c/src/wacom.c

2001-04-25  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added packages/alsa/src/alsarawmidiport.c (that contains a ALSA raw midi port...)

	* remove fts/src/runtime/devices/null.c and fts/src/runtime/devices/profdev.c: no longer used

	* added profileaudioport (in package io). It outputs on its outlet
	the estimated sample rate.

	* changed the default audio port mechanism: now the default audio
	port is defined by a variable (DefaultAudioPort). This way, the
	default audio port can be set from a patch (we are moving slowly
	to configuration done by patches). Also changed the nullaudioport
	mechanism (still a little bit ugly).

2001-04-10  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* finalized scope and vector display
	* moved scope and vector display to guiobj package

2001-04-06  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* added oscilloscope

2001-04-03  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* added vector display object to guiobj package and client sources (includiong images)

	* added cut~ and scope~ to signal package

2001-03-30  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* java/src/ircam/jmax/editors/patcher/objects/Display.java: bug
	fix: display objects doesn't set patcher to dirty anymore

	* fts/src/runtime/devices/bytestream.c: bug fix: bytestream
	listener can now remove itself

2001-03-29  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added package macosx, containing HAL audio port for Mac OS X

2001-03-27  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* packages/ispw/src/sampling/tabpeek.c (ftl_tabpeek): fixed ugly
	bug crashing on DSP on while ISPW signal help summary patch is open

	* doc/ReleaseNotes.html : added summary of the latest updates to the release notes

2001-03-22  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fixed: hack for default MIDI port.

	* cleaned: documentation (installation, configuration)

2001-03-21  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added: package sgi, containing SGI audio port

	* added: package oss, containing OSS audio port

2001-03-19  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* removed old directories: alsa0.6dev, alsadev, halsadev, hammerfalldev

	* added null audio port, to prevent locking the machine.

2001-03-15  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* Changed the audio I/O system
	Audio I/O no longer works with devices and logical devices, but
	uses a special object ("audioport") in fts/src/runtime/audio/audioport.c
	Fixed accordingly in~, out~, dac~, adc~ objects

	* Fixed the DSP compiler to accept multiple DSP connections on an inlet.
	This is used by the new implementation of audio I/O

	* Added a first implementation of audioport for ALSA 0.9.0

	* Removed fts/src/runtime/audio/audio.c

2001-02-09  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* Removed packages/alsa0.6dev and moved it to an external package

	* Changed header files structure:
          - fts header files are in include/fts
          - private header files remains in fts/src
          - packages now #include <fts/fts.h>
          - a package can be compiled either inside the jMax source tree
            or outside without changing the sources
          - header files tree is the same in the source tree and in the
            installation


2001-01-15  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* Fixed error in fts/src/sys/Makefile

2001-01-02  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* Fixed install errors in new Makefiles

2000-12-20  Francois Dechelle  <dechelle@lipari.ircam.fr>

	*  operation "Mani Pulite" on Makefiles is going on:
	  . all Makefiles for C part are now in jmax/Makefiles
	  . all platform dependent definitions are in jmax/Makefiles/Makefile.$(ARCH)
	  . you can do a 'make install' in the packages
	  . the packages Makefiles are much simpler (4 lines)
	  . the .so are build from the .o and not from the .a
	

2000-12-14  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added packages/io/c/src/pipestream.c (a bytestream using a pipe). ***but*** it does 
	not work.

2000-12-13  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* changed VERSION to 2.5.0, in order to be able to patch freely version 2.4.16

2000-12-11  Francois Dechelle  <dechelle@lipari.ircam.fr>

	*  lib/protocol: removed this directory and moved the files in 
	fts/src/runtime/client/protcodec.[ch] for the C part and to /dev/null
	for the Java part

2000-12-05  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* changed the makefiles for FTS: now only one library (libfts.a) is build
	instead of one library per directory. The Makefiles in fts/src/*/* are
	also much simpler.

	* added packages/audpdev

2000-12-04  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added audpdev in ARCH_PACKAGES

2000-11-30  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added ENABLE_ALSA in jmax.spec. By defining the environment variable ENABLE_ALSA=yes,
	the rpm will be compiled with ALSA (0.5.x yet)

2000-11-07  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* I think I've fixed the bug of dtd server going up to 99% CPU.
	(file descriptor 0 was set in the select() for dtd server)

	* added a hack in toplevel Makefile to allow to install a single package.
	The correct fix would be to include one single Makefile for the architecture.

2000-10-26  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added compile hint ENABLE_ALSA0.6 to compile package alsa0.6dev

	* moved score following objects

2000-10-25  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* added packages/alsa0.6dev which contains the ALSA 0.6 device. Now, it works
	only with the Hammerfall card.

2000-09-28  Francois Dechelle  <dechelle@lipari.ircam.fr>

	*  package/unixdtd/src/*: changed a little bit the implementation of
	DTD. Now, a fifo is allocated for each readsf~ object.

2000-09-25  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fixed with Norbert remaining bug in DTD (strange pauses in readsf~)

2000-09-23  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fixed SGI multi-processor related issues: fts' options are
	passed to plaform_init(argc,argv), and option --cpu=N means that
	fts will run on processor N. If this option is absent, then it will
	run on first found isolated processor. This has been used because
	if you run 2 fts on the same machine, they would both choose the same
	processor to run on.

2000-09-19  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fts/src/runtime/sched/sched.[ch]: added fts_sched_add and fts_sched_remove
	to add and remove a free running method to the scheduler loop

2000-08-01  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* packages/explode/c/src/explode.c: added MIDI file export to explode object
	* packages/sequence/c/src/seqmidi.c: added MIDI file import/export to sequence object

2000-07-12  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* packages/midisgi/c/src/sgimidiport.c: fts_midiport_t implementation for SGI
	* packages/midi/*: added package midi (ISPW like midi objects based on fts_midiport_t)

2000-06-23  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fixed ambiguous class name FileFilter in java/src/ircam/jmax/dialogs/MaxFileChooser.java,
	because of conflicts with JDK 1.2

	* renamed Package.java to JMaxPackage.java, because of conflict with JDK 1.2 java.lang.Package

Fri Jun  9 15:35:11 2000  Norbert Schnell  <schnell@astor.ircam.fr>

	* fts/src/runtime/midi.h: added fts_midiport abstraction to midiport.*

2000-06-07  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* packages/io/c/src/iomodule.c: fixed missing call to serial_config()
	* packages/unixdtd: new (?) implementation of Direct-To-Disk objects, using
	a separate process (the thread implementation leaded to real-time problems
	on IRIX)
	* packages/unixdtd/src/readsf.c: readsf~ has an extra outlet that bangs when 
	file is finished.

2000-06-06  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* packages/ispw/src/data/table.c: fixed name table bug
	* packages/ispw/src/data/value.c: removed fts_..._named_object feature 
	* packages/ispw/src/sampling/sigtable.c: added messages read and write to system inlet
	* fts_named_object_send: now sending to system inlet

2000-05-26  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fts/src/runtime/sched/sched.c: fixed in fts_sched_do_select the first argument
	to select() (was n_fd, is now n_fd +1).

Mon May 22 11:57:20 2000  Francois Dechelle  <dechelle@astor.ircam.fr>

	* fts/src/non-portable/sgi/syssched.c: 
	  added code for better use of multi-processor machines: if an isolated processor
	  is found, it is choosed by fts for running on it.

2000-05-15  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* added _FTS before #ifdef pp-commands in all header files

2000-05-09  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* fts/src/runtime/client/incoming.c: fixed memory corruption bug

2000-05-04  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* packages/ispw/src/data/table.c: added save as .pat
	
	* packages/qlist/c/src/qlist.c: added save as .pat

	* added overwrite confirmation dialog in patcher "Save as" in case file already exists.

2000-05-03  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* sigthrow: fixed bug in catch~/throw~

2000-05-03  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fts: fixing 'save as .pat' methods (messages were not saved correctly)

2000-05-02  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fts: added stuff for running fts under purify (ENABLE_PURIFY=yes on make command line). 
	See doc/running.html for further indications.

2000-04-28  Norbert Schnell  <schnell@ligeti.ircam.fr>

	* fork object added in packages/guiobj java/.../patcher/objects java/.../fts
	* for object added in packages/control
	* range moved from packages/numeric to packages/control
	* vec object added in packages/data
	* eliminated MAXVS and MINVS in the kernel and packages
	* sched.h: added functions (makros)
	    fts_get_time_in_msecs()
	    fts_get_time_in_ticks()
	    fts_get_tick_size()
	    fts_get_tick_duration()
	* sched.h: added constants
	    FTS_MIN_TICK_SIZE
	    FTS_MAX_TICK_SIZE
	    FTS_DEF_TICK_SIZE

2000-04-27  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* Merged all ChangeLog files in subdirectories.

	* fts and java Makefiles: merged all install-noarch and install-arch targets

	* moved and cleaned the rpm and sgi package building scripts

2000-04-07  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* java: changed files names for too long names (MacOS porting)

2000-04-05  Norbert Schnell  <schnell@ircam.fr>

	* fts: runtime/files/midifile.[ch] Added midifile library based on the code by Tim Thompson

2000-03-31  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fts: sys/modules.[ch]: removed the restart function (which has never been tested nor used).
	Changed all modules accordingly.

2000-03-30  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* java: removed registration panel and the related code.

	* fts: runtime/sched/* and runtime/thread/*: removing the thread directory
	and integrating it in sched.c. Removed the fts_sched_declare stuff,
	that was uselessly complicated. Moving to the single select() scheduler.

2000-03-27  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* java: changed MaxFileChooser.java to find better the file format combo box.

	* fts: changed patcher.c: moving to save .pat files. This is not complete yet...

	* fts: changed patparser.c: removed the scaling that was applied when loading .pat files.

2000-03-23  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* java: fixed in FtsStream.java an incorrect parsing of SYMBOL_AND_DEF_CODE arguments.
	By the way, the parser in FtsStream.java is to be redone reusing incoming.c

	* java: fixed MaxFileChooser.java and PatcherSaveManager.java, going toward saving as .pat.
	Added the code that changes the file type combo box in order to use it
	for format selection. This has probably fixed the destiny of Mda (it will not resist
	to a client and a server not seeing same files at the same place).

	* java: changed protocol handling: FtsStream.java
	  - the protocol is now binary in both directions.
	  - the symbols are cached in both directions.
	  - the code is cleaner

	* fts: changed protocol handling: runtime/client/incoming.c, runtime/client/outgoing.c
	  - the protocol is now binary in both directions.
	  - the symbols are cached in both directions.
	  - the code is cleaner
	  - some bug fixes (symbol cache miss resulted in an infinite loop...)

2000-03-22  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fts: changed symbols.[ch]:
	  - introduced predefsymbols.h in order to centralize predefined symbols definition
	  - added doc headers to symbols.h
	  - cleaned code in symbols.c

	* fts: changed outgoing.c:
	  - moved symbol cache handling there
	  - removed useless code
	  - fixed sending symbol as string (which happens when symbol cannot be cached)

2000-03-16  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* java: ircam/fts: changed FtsDatagramStream, trying to fix the
	hostname and rsh problem. Just removed the code:
	    serverName = InetAddress.getLocalHost().getHostName();
	But it is probably not enough, and the server connection
	code must be redone.

2000-03-14  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* java: ircam/fts: added a default implementation of handleMessage
	in FtsObject that is based on Core Reflection API. Added a
	method getArgs() in FtsStream and a class FtsAtom.

2000-02-21  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* java: Makefile (jar): fixed missing silk in jar building

2000-02-21  Francois Dechelle  <dechelle@lipari.ircam.fr>

	* fts: fixed "cannot kill fts without being super-user". This came from a bug in 
	non-portable/sgi/platform.c

	* fts: fixed wrong message "cannot lock memory".
