1999-03-22  Jarno Seppnen  <jams@cs.tut.fi>

	* COPYING: from now on, all of Sonic Flow (libsf, blocks and
	examples) is licensed under the GNU General Public License (GPL).
	Released version 0.1.1.

1999-03-20  Jarno Seppnen  <jams@cs.tut.fi>

	* include/sf/*.hh: added throw lists to all function declarations;
	we're getting more and more professional :-)

	* src/libsf/thread.cc: new class.  Moved all seriously obsolete
	asynchronic simulation stuff from network.{cc,hh} to this new
	class, SF_Thread.

	* src/examples/*: changed licensing to GPL

	* src/libsf/exception.cc: new exceptions, SF_Memory_Exception,
	SF_Terminal_Exception and SF_Assertion_Exception; modified
	__SF_ASSERT

	* HACKING: new file

1999-03-19  Jarno Seppnen  <jams@cs.tut.fi>

	* include/sf/config.h: moved config.h here from root directory

	* src/libsf/block.cc (print): indicates sample rate imbalance
	flags with "imb" before sample rate

	* configure.in, Makefile.am's: enabled the compilation of shared
	libraries instead of static ones; removed the include/sndlib
	symlink; removed src/COMPILATION

1999-03-18  Jarno Seppnen  <jams@cs.tut.fi>

	* src/libsf/network.cc: removed propagate_sample_rates () and
	simplified initialize () thanks to the sample_rate_imbalance
	flags; removed (bug) initialize () and finish () calls of blocks
	with zero rank

	* src/libsf/block.cc: removed check_sample_rates (), which is
	obsoleted by SF_Terminal::sample_rate_imbalance flag; updated
	is_functional () to check the imbalance flags

	* src/libsf/output_terminal.cc: made connect () and disconnect ()
	propagate sample rates wisely

1999-03-17  Jarno Seppnen  <jams@cs.tut.fi>

	* src/libsf/exception.cc: added a new exception,
	SF_Indexing_Exception

	* src/libsf/queue.cc: new class

	* src/libsf/block.cc: added get_terminal () and
	get_num_terminals () for `foreach' traversal of all terminals

	* src/libsf/terminal.cc: revised set_sample_rate (); added
	propagate_sample_rate () as a subroutine; added
	get_wired_terminal () and get_num_wires () (former get_degree ())

	* include/sf/terminal.hh: added the concept of sample rate
	imbalance and the necessary functions

1999-03-10  Jarno Seppnen  <jams@cs.tut.fi>

	* src/examples: revised example codes to be more informative;
	removed main.cc

	* src/examples/comp-exp.cc: a compressor/expander example program

	* src/blocks/rms_estimator.cc: new block: a "power gauge"

	* src/blocks/multiplexer.cc: new block for selection of a number
	of signals

	* src/blocks/attack_release.cc: new block implementing an
	attack/release circuit

	* src/blocks/{ampdb, dbamp}.cc: new blocks for conversion between
	decibels and raw amplitudes

	* src/blocks/divider.cc, src/blocks/pow.cc: new blocks, division
	and power

	* src/blocks/sample_hold.cc: new block, sample and hold

	* include/sf/typedefs.h: added type SF_Coefficient for
	higher-than-sample precision numbers

1999-03-09  Jarno Seppnen  <jams@cs.tut.fi>

	* include/sf/global.hh: made an assertion macro which throws
	exceptions for use in libsf

	* src/blocks/{down,up}sampler.cc: new blocks for primitive
	sample rate changes

1999-03-05  Jarno Seppnen  <jams@cs.tut.fi>

	* src/libsf/{input,output}_terminal: moved {add,remove}_input ()
	to protected side and allowed friend access

	* src/libsf/bubble_terminal.cc: new class for hierarchical
	networks
	
	* src/libsf/network.cc: factored check_functionality() out from
	initialize() and fixed a small bug regarding blocks w/zero rank

1999-03-02  Jarno Seppnen  <jams@cs.tut.fi>

	* include/blocks/*: removed Input_Indices and Output_Indices from
	all blocks

	* src/libsf/global.cc: set_new_handler in SF_initialize () and
	SF_finish (); removed out of memory checks from everywhere else in
	the code

	* src/libsf/terminal.cc: check for NULL name and host_block

	* src/libsf/block.cc: renamed instance_name to name

1999-02-26  Jarno Seppnen  <jams@cs.tut.fi>

	* src/libsf/block.cc: removed the inputs[] and outputs[] arrays
	from the public API and replaced them with (internal) lists and
	the functions get_input () and get_output (); made adding and
	removing input and output terminals possible with the functions
	{add,remove}_{input,output}_terminal (); removed the number of
	input and output terminals from the SF_Block constructor

	* src/libsf/{input,output}_terminal.cc: moved init_terminal () functionality
	back to constructor

	* src/libsf/input_terminal.cc: now holds pointers to output terminals
	instead of frames; added get_source_terminal (i) and
	get_num_source_terminals ()

	* src/libsf/{input,output}_terminal.cc: replaced
	get_{first,next}_source_frame () with get_source_frame (i) and
	get_num_source_frames () and get_{first,next}_destination_terminal
	() with get_destination_terminal (i) and
	get_num_destination_terminals (), respectively

	* src/libsf/list.cc: replaced get_{first,next} () with get_node (i) and
	renamed count_nodes () with get_num_nodes ()
