2002-06-04  Josh Green  <jgreen@users.sourceforge.net>

	* src/soundfont.c: Added more descriptions for generators in
	sfont_gen_info array.
	* src/soundfont.h: Fixed some bugs with new modulator constants.

2002-05-30  Josh Green  <jgreen@users.sourceforge.net>

	* src/sfload.c: (sfload_pbags), (sfload_ibags): Modulators are now
	appended on load rather than prepended which would reverse the order.
	* src/soundfont.c:
	(sfont_zone_insert_mod): Updated to use new sfont_mod_list_insert
	routine.
	(sfont_genid_offset): New routine to offset a single generator amount.
	(sfont_mod_list_insert), (sfont_mod_list_free),
	(sfont_mod_list_default): New routines for manipulating modulator
	lists.

2002-05-28  Josh Green  <jgreen@users.sourceforge.net>

	* src/sample.c: (method_BUFFER_read_func),
	(method_BUFFER_write_func): Fixed a critical bug with fread/fwrite
	size and nmemb parameters swapped, which caused a wrongful failure.

2002-05-27  Josh Green  <jgreen@users.sourceforge.net>

	* autogen.sh: Added some switches to the automake command.
	* src/sample.c: Fixed some bugs and now using tmpfile () for sample
	swap buffer.
	* src/sfsave.c (sfsave_migrate_samples): Fixed some bugs.
	* src/soundfont.c (sfont_item_new): Item init routines weren't being
	called, fixed.
	(sfont_find_free_preset): Removed 'melodic' parameter in favor of
	input/output bank/psetnum parameters. The bank parameter can be
	pre-loaded with 128 for the same effect.
	(sfont_sfdata_init_func): Moved initialization from sfont_new and
	removed it.
	* src/soundfont.h: Added SFONT_CHECK_PARENT_TYPE and
	SFONT_IS_PARENT_* convenience macros. Added modulator flag definitions.

2002-04-30  Josh Green  <jgreen@users.sourceforge.net>

	* src/sample.c: (sfont_sample_store_next),
	(sfont_sample_store_destroy),
	(sfont_sample_method_SFONT_set_params),
	(sfont_sample_method_SFONT_get_params), (method_SFONT_done_func),
	(method_SFONT_read_func), (method_BUFFER_init_func),
	(method_BUFFER_alloc_func), (method_BUFFER_free_func),
	(method_BUFFER_read_func), (method_BUFFER_write_func),
	(method_RAM_write_func), (sfont_sample_method_ROM_set_start),
	(sfont_sample_method_ROM_get_start): Added file handle ref counting
	support to SFSAMPLE_METHOD_SFONT, created a new SFSAMPLE_METHOD_ROM
	type to track ROM samples, SFSAMPLE_METHOD_BUFFER variable space is
	now smaller, and other stuff.
	* src/sffile.c: (sffile_start_transfer), (sffile_start_chunk),
	(sffile_end_chunk), (sffile_save_info), (sffile_save_sample_data),
	(sffile_save_sample), (sffile_save_phdr), (sffile_save_ihdr),
	(sffile_save_shdr), (sffile_save_bag), (sffile_save_chunk),
	(sffile_read), (sffile_write), (sffile_seek):
	Fixed lots of bugs for file saving which is now working for the first
	time.
	* src/sfload.c: (sfont_load), (sfload_callback), (sfload_pbags),
	(sfload_pgens), (sfload_ibags), (sfload_igens), (sfload_shdrs):
	Support for new file ref counting system, empty zones are no longer
	discarded, support for ROM samples, using a simplified routine to blank
	sample data.
	* src/sfsave.c: (sfont_save), (sfsave_migrate_samples),
	(sfsave_callback), (sfsave_infos), (sfsave_samples),
	(sfsave_phdrs), (sfsave_pbags), (sfsave_pmods), (sfsave_pgens),
	(sfsave_ihdrs), (sfsave_ibags), (sfsave_imods), (sfsave_igens),
	(sfsave_shdrs):
	Tons of bug fixes. Migrating samples implemented.
	Sound font saving is now working for the first time!
	* src/soundfont.c: (sfont_item_sink), (sfont_item_new),
	(sfont_item_insert_before), (sfont_item_unlink),
	(sfont_set_file_name), (sfont_set_file_info),
	(sfont_create_preset), (sfont_create_inst), (sfont_create_sample),
	(sfont_file_info_new), (sfont_file_info_ref),
	(sfont_file_info_unref), (sfont_sfdata_init_func),
	(sfont_sfdata_done_func), (sfont_sfdata_destroy_func),
	(sfont_preset_done_func), (sfont_preset_destroy_func),
	(sfont_preset_duplicate_func), (sfont_inst_done_func),
	(sfont_inst_destroy_func), (sfont_inst_duplicate_func),
	(sfont_sample_done_func), (sfont_sample_destroy_func),
	(sfont_sample_duplicate_func), (sfont_sample_set_blank_data),
	(sfont_sample_data_init_func), (sfont_sample_data_done_func),
	(sfont_sample_data_find_store), (sfont_sample_data_get_blank),
	(sfont_zone_done_func), (sfont_zone_duplicate_func):
	Fixed bugs relating to ref counting and items now have a "floating"
	ref count until they are parented. New routines for file ref counting.

2002-04-12  Josh Green  <jgreen@users.sourceforge.net>

	* src/sfload.c (sfload_shdrs): Moved blank SFSampleData object
	generation to a public function called sfont_sample_data_get_blank.

	* src/soundfont.c: SFItem_FreeFunc pointers pointed to wrong function
	causing a recursive loop when an SFItem was freed.
	(sfont_find_free_preset): Added a preset sorting function as preset
	list is no longer automatically sorted. An error code is now returned.
	(sfont_sample_data_get_blank): New function that creates a blank
	minimum sized SFSampleData object, which is returned on successive
	invocations.

	* src/soundfont.h:
	sfont_find_free_preset now returns an int error code.
	New function `sfont_sample_data_get_blank' prototype.

2002-04-01  Josh Green  <jgreen@users.sourceforge.net>

	* src/Makefile.am: Added sfpriv.h to build.
	* src/sfpriv.h: Created. For private definitions.
	* src/sample.c: Re-worked sample storage system, now allowing multiple
	storage methods for the same sample data. Changed a good bit of code
	here.
	* src/sffile.c: Updated to use new sample storage system.
	* src/sfload.c: Updated to use new sample storage system.
	* src/sfsave.c: Updated to use new sample storage system.
	* src/soundfont.c: Item callback function class made public and
	called SFItemTypeInfo. Added `init' and `done' functions to item class
	and removed `new' function (can now use alloc and init functions).
	Made `destroy` functions unlink objects only, freeing data is up to
	`done' function.
	* src/soundfont.h: Added SFItemTypeInfo and changed/added a bunch of
	function definitions.
