Wed Oct 31 18:25:21 2001  Stefan Westerfeld <stefan@space.twc.de>

	* csl/cslpcm.h csl/cslsample.h: documentation fixes

	* configure.in: version is 0.2.0 now

Sat Oct 20 23:14:42 2001  Stefan Westerfeld <stefan@space.twc.de>

	* csl/artsdriver.c: API adaptions (readable/writable flag in streams)

	* */Makefile.am: fixes to build with automake-1.5 

Tue Oct  9 14:58:14 2001  Stefan Westerfeld <stefan@space.twc.de>

	* adapter/adapter_impl.cc: compilations fixes for newer aRts versions
	which have a different (more corrrect) arts_return_if_fail macro

Thu Sep 27 12:29:42 2001  Tim Janik  <timj@gtk.org>

	* csl/cslpcm.[hc]: API fixes and simplifications.
	fixed duplex hackery.
	got rid of csl_pcm_activate/csl_pcm_suspend concept.
	merged stream/packet watermark settings into set_stream_mode
	and set_packet_mode functions.
	* csl/cslprivate.h: related adaptions.

	* csl/cslutils.[hc]: abort on warnings if CSL_ABORT=1 (environment
	variable). added csl_memdup().

	* csl/ossdriver.c: API adaptions, duplex fixes (as far as the
	broken OSS API allowes for that).

	* csl/cslmain.h: poll-fd proposal by stefan.

	* csl/artsdriver.c: fixes/adaptions to new PCM API by stefan.
	
	* *Makefile.am: first attempt at conditionalizing aRts support.

Sat Sep  8 17:39:50 2001  Tim Janik  <timj@gtk.org>

	* csl/cslrec.c (main): added --stats option to get statistics about
	recorded data.

Sun Jun 17 20:39:54 2001  Tim Janik  <timj@gtk.org>

	* csl/cslpcm.[hc]: preliminary duplex support.
	
	* csl/cslrec.c: recording testcase.

Wed Jun  6 17:47:50 2001  Stefan Westerfeld <stefan@space.twc.de>

	* csl/cslsample.c: added doxygen docs for the new csl_sample_xxx functions

Wed Jun  6 12:16:05 2001  Stefan Westerfeld <stefan@space.twc.de>

	* doc/Makefile.am: added EXTRA_DIST for make distcheck

Tue Jun  5 22:48:08 2001  Tim Janik  <timj@gtk.org>

	* configure.in (CSL_MICRO_VERSION): upped version to 0.1.2.

Thu May 31 21:48:07 CEST 2001  Stefan Westerfeld <stefan@space.twc.de>

	* configure.in: require aRts >= 0.5.4 (CSL::Adapter needs that)

	* csl/artsmcopdispatcher.c: disabled timeout of 1000ms, as waiting
	until a sample is done can take much longer than that

	* csl/artsdriver.c csl/cslprivate.h csl/cslsample.c: implemented the
	changed sample API

	* csl/artscsladapter.[ch] csl/artsmcopmethods.h: adapt to changes
	in CSL::Adapter

	* adapter/cslplaycxx.cc: adapted to the new CSL::Adapter methods

	* adapter/cslarts.idl: adapter/playsample_impl.* adapter/Makefile.am
	adapter/adapter_impl.*: extended CSL::Adapter to match the recent csl
	sample API changes.

Mon May 28 06:58:26 2001  Tim Janik  <timj@gtk.org>

	* NEWS: updates.

	* csl/cslsample.[hc]: added csl_sample_wait_done() to wait until
	a sample stopped playing.
	added csl_sample_stop() to abort a playing sample.
	added csl_sample_is_playing() to eval whether a sample is currently
	playing (if more than one playing instance is present, return
	TRUE until the last one stopped).
	s/csl_sample_finsish/csl_sample_write_done/.
	added role+title arguments to csl_sample_new, csl_sample_new_from_file
	and csl_sample_new_from_cache.
	s/csl_sample_release/csl_sample_free/ to reflect that playing samples
	won't be aborted due to a client releasing references to it.
	made some more functions support error returns.

Sat May 12 09:44:21 2001  Stefan Westerfeld  <stefan@space.twc.de>

	* csl/cslsample.c: fixed minor bug csl_sample_cache_add

Sat May 12 00:11:49 2001  Jeff Tranter  <tranter@pobox.com>

	* csl/cslsample.c: added documentation for new sample API

Fri May 11 23:28:29 2001  Stefan Westerfeld  <stefan@space.twc.de>

	* csl/cslplay.c: works now, uses csl_sample_new_from_file

	* csl/artsdriver.c csl/cslprivate.h csl/cslsample.[ch]: added
	  support for the sample API to the aRts driver, slight changes
	  w.r.t. error handling (more functions returning CslErrorType)

	* csl/artscsladapter.[ch] csl/artsmcopmethods.h: C bindings for
	  CSL::Adapter::sample*.

	* adapter/Makefile.am adapter/adapter_impl.* adapter/cslarts.idl
	  adapter/cslplaycxx.cc: added sample functions to CSL::Adapter

	* csl/cslmain.[ch]: make CSL_PCM_CAP_SAMPLE work (moved it before
	  the mixer cap, as no driver implements a mixer yet)

Thu May 10 23:05:42 2001  Stefan Westerfeld  <stefan@space.twc.de>

	* csl/Makefile.am csl/cslplay.c: make cslplay use cslsample API

	* csl/cslmain.h csl/cslpcm.c csl/cslprivate.h csl/cslsample.[hc]:
	initial proposal for the csl_sample API, which allows server-side
	caching of samples, and easy playback

Tue May  8 20:33:26 2001  Stefan Westerfeld  <stefan@space.twc.de>

	* csl/artsdriver.c: implemented arts_pcm_update_status

	* csl/artscsladapter.[ch]: added _arts_csl_adapter_status, marshallers
	for the ArtsCslStreamStatus type, namespace and naming cleanups (i.e.
	ArtsCslAdapterStreamParams -> ArtsCslStreamParams)

	* csl/artsmcopdispatcher.[ch]: custom data types can be returned as
	result via ARTS_MCOP_RESULT_CUSTOM - you need a demarshal and free
	function for them (I didn't want to add ArtsCslStreamStatus as
	primitive MCOP type)

Mon May  7 13:36:56 2001  Jeff Tranter  <tranter@pobox.com>

	* added examples/cslplay.c; not yet built by default since it requires libaudiofile

Fri May  4 20:54:33 2001  Jeff Tranter  <tranter@pobox.com>

	* examples/cslduplex.c: enhanced program to use threads

Sat May  5 02:09:59 2001  Tim Janik  <timj@gtk.org>

	* csl/cslpcm.[hc]: CslPcmStatus cleanup, implemented csl_pcm_get_status().

Sat May  5 01:08:45 2001  Tim Janik  <timj@gtk.org>

	* csl/cslpcm.h: provide CSL_PCM_FORMAT_S16_HE and CSL_PCM_FORMAT_FLOAT_HE
	defines that eval to _BE/_LE variants depending on host byte order.

	* doc/Makefile.am: put things into $(prefix)/share/doc/csl instead of
	$(prefix)/doc/csl (lfss).

	* examples/*.c: fix option API calls.

	* csl/cslmain.[hc]: minor options API cleanup:
	(csl_options_parse): renamed from csl_parse_options().
	(csl_options_describe): renamed from csl_describe_options().
	(csl_options_dump): new function to create a debug string describing
	option contents (from csloptions.c).

	* csl/cslpcm.h: indentation fixups.
	* csl/cslpcm.c (csl_pcm_list_channel_mappings): added back FIXME.

Fri May  4 16:28:43 2001  Jeff Tranter  <tranter@pobox.com>

	* csl/cslpcm.c: DRIVER_LOCK and DRIVER_UNLOCK were not working;
	need to pass the underlying mutex (user_data) as the argument

Fri May  4 14:28:00 2001  Jeff Tranter  <tranter@pobox.com>

	* csl/cslpcm.[hc]: renamed csl_pcm_sink to csl_pcm_sync

Fri May  4 13:54:04 2001  Jeff Tranter  <tranter@pobox.com>

	* added examples/cslduplex.c, example of full duplex

Fri May  4 12:51:59 2001  Jeff Tranter  <tranter@pobox>

	* moved doxygen comments for functions from .h to .c files

Fri May  4 19:04:30 2001  Stefan Westerfeld <stefan@space.twc.de>

	* adapter/Adapter.mcopclass: removed Arts::SynthModule from
	the Interface line, as it doesn't really implement that.

Fri May  4 10:14:59 2001  Jeff Tranter  <tranter@pobox.com>

	* add some more documentation comments based on feedback from
	Stefan (role and title parameters, sync/flush functions,
	channel name mapping)

Thu May  3 09:24:08 2001  Jeff Tranter  <tranter@pobox.com>

	* added examples/cslpcm2.c, which illustrates recording (I don't
	think the aRts backend works for recording yet, though)

Tue May  1 13:32:36 2001  Jeff Tranter  <tranter@pobox.com>

	* added examples/cslchanmap.c with example of channel mapping APIs

	* added Doxygen comments to public header files

	* added doc/Doxyfile (configuration file for Doxygen)

	* TODO: added some items on documentation and examples

	* examples/cslmutex.c: reworked example to hopefully make it
	simpler and more correct

	* csl/cslpcm.c: implemented csl_pcm_list_channel_mappings

Sat Apr 28 20:11:00 2001  Jeff Tranter  <tranter@pobox.com>

	* added examples directory with some preliminary code examples

	* added doc directory with draft of Mini HOWTO/FAQ

	* csl/ossdriver.c: moved call to csl_free in oss_pcm_stream_destroy(),
	variable was being used after freed

Wed Apr 18 16:08:27 2001  Tim Janik  <timj@gtk.org>

	* NEWS: release updates.

	* csl/*.[hc]:
	* adapter/*.idl: stream::set_title() implementation.

Wed Apr 18 10:47:00 2001  Tim Janik  <timj@gtk.org>

	* Release preparation for 0.1.1.

	* csl/artsdriver.c: debug messages, buncha fixups ;)

	* csl/artssoundserver.c:
	* csl/artsmcopdispatcher.c: bug fixes, leak plugs.

	* csl/artsmcopmarshal.c: function guards.

	* csl/ossdriver.c: debug messages.

	* added libtool pattern for symbol exports.

	* added csl.pc generation and installation stuff.
	
Tue Apr 17 19:25:53 2001  Tim Janik  <timj@gtk.org>

	* csl/cslprivate.h: made *bytes pointer in read() and write() a
	char* instead of a void* to allow for pointer arithmetic on them.

	* csl/artsdriver.c (arts_pcm_write): cache last buffer level.

	* csl/ossdriver.c (oss_pcm_stream_init): default-activate stream.

	* csl/cslmain.[hc]: added CSL_ENOIMPL to flag FIXME errors.

	* csl/artsdriver.c (arts_pcm_driver_init): use csl_new0() since without
	explicit zero resetting we might free garbage on clenaup.

Tue Apr 17 01:54:07 2001  Stefan Westerfeld <stefan@space.twc.de>

	* csl/artsdriver.c: implemented recording on aRts streams

	* csl/artscsladapter.c csl/artscsladapter.h: _arts_csl_adapter_read
	which calls CSL::Adapter::read

	* csl/artsmcopdispatcher.c csl/artsmcopdispatcher.h: support
	sequence<byte> as return code (required for read)

Mon Apr 16 15:41:29 2001  Stefan Westerfeld <stefan@space.twc.de>

	* adapter/stream_impl.cc adapter/stream_impl.h: Initial implementation
	of RecordStream. Resampling is still missing, so you need to record with
	the rate of the sound server.
	
	* adapter/cslreccxx.cc adapter/Makefile.am: small program to test
	recording, grabs data from artsd and writes it to stdout.

Sun Apr 15 13:01:20 2001  Stefan Westerfeld <stefan@space.twc.de>

	* csl/artssocket.c: use TCP_NODELAY socket option to disable the nagle
	algorithm for TCP sending. This makes MCOP more responsive over TCP
	connections, because requests are sent out immediately, and not queued
	by TCP in the hope that more data will need to be sent soon.

Sat Apr 14 08:53:20 2001  Stefan Westerfeld <stefan@space.twc.de>

	* adapter/adapter_impl.[ch]* adapter/cslarts.idl: normalize different 8
	bit (little/big endian) unsigned formats to one ; understand it correctly

	* adapter/stream_impl.cc: debugging code, normalize 8bit format

	* csl/artsdriver.c: more work on the aRts driver code

	* csl/cslmain.c csl/cslprivate.h: integrate aRts driver

	* csl/testcsl.c csl/cslplay.c: disable the non-working bits

Sat Apr 14 07:41:42 2001  Tim Janik  <timj@gtk.org>

	* csl/cslpcm.c (csl_pcm_get_format): added format retrival function.
	
	* csl/cslcat.c: show formats for -D 2.

Sat Apr 14 07:13:30 2001  Tim Janik  <timj@gtk.org>

	* csl/cslcat.c: extensions to support format args, cat command
	line files, etc...

	* csl/cslmain.[hc]: added convenience option parser, usage and
	pcm_format stringification.

	* csl/cslutils.[hc]: csl_strdup().

	* csl/csldefs.h: include csl/cslconfig.h.

	* configure.in: add endianess checks.

	* csl/Makefile.am: cslconfig.h generation rules.

Sat Apr 14 01:28:46 2001  Stefan Westerfeld <stefan@space.twc.de>

	* csl/csldriverarts.h: we don't need that anymore

	* adapter/adapter_impl.cc: fix iteration over WaitBufferLevels
	list

	* tests/testsine.c: CSL_GNUC_NORETURN prevents compiler warning

Sat Apr 14 01:20:10 2001  Tim Janik  <timj@gtk.org>

	* csl/cslcat.c: based this on the normal csl_pcm_* API.

	* csl/cslutils.h: pointer/(u)int conversion macros.

	* csl/cslmain.[hc]: init and shutdown function implementations.

	* csl/ossdriver.c: mostly completed implementation.

	* csl/ossdriver.c:
	* csl/artsdriver.c:
	* csl/cslpcm.[hc]: make read() and write() return 0..n for
	amount of bytes processed, or -1 if an error occoured (e.g.
	connection to server lost, not EINTR).
	s/get_status/update_status/ for vtable functions, got rid
	of CslPcmStatus* internally.
	s/_sink/_sync/, semantics:
	(pcm_sync): block until last sample has been processed (physically,
	includes server latency).
	(pcm_flush): discard any pending data.
	
	* csl/csldriverarts.c: finally removed this file.

Fri Apr 13 19:53:50 2001  Stefan Westerfeld <stefan@space.twc.de>

	* adapter/stream_impl.cc adapter/adapter_impl.cc: support for 16bit
	big endian encoding (requires new bleeding edge artsd ;)
	
	* csl/artsdriver.c: started CSL aRts driver

	* tests/testsine.c: test code: sine generator for various formats
	supported by CSL

Fri Apr 13 19:42:13 2001  Tim Janik  <timj@gtk.org>

	* csl/cslutils.h: assertion fixups (you don't want to know _what_
	went wrong here <shame>).

Fri Apr 13 15:38:22 2001  Tim Janik  <timj@gtk.org>

	* csl/cslprivate.h: more prototype changes.

	* csl/ossdriver.c: added OSS setup code.

	* csl/cslutils.[hc]: added csl_message() and csl_debug() checks.

	* csl/csldefs.h: added CLAMP().

Fri Apr 13 13:23:55 2001  Tim Janik  <timj@gtk.org>

	* csl/ossdriver.c (oss_pcm_stream_init): more premature hacking on this.

	* csl/cslutils.h: add csl_new() variants.

	* csl/cslmain.h (enum): more errors.

	* csl/cslpcm.c:
	* csl/cslmain.h:
	* csl/cslprivate.h:
	* csl/csl.h:
	* csl/cslmain.c:
	* csl/ossdriver.c: forgot these last time.

Fri Apr 13 05:43:45 2001  Tim Janik  <timj@gtk.org>

	* csl/Makefile.am: adaptions. fixed installation of public vs.
	private header files.

	* csl/ossdriver.c: oss driver backend skeleton.

	* csl/cslpcm.c: added most wrapper implementations, grep for
	FIXMEs.

	* csl/cslutils.c (csl_strfreevn): signedness correction.

	* csl/cslutils.h: added assertion macros.

	* csl/*.c: assertion fixups.

	* csl/csl*, csl/arts*: driver naming fixups.

	* csl/cslprivate.h: pcm driver backend virtualization.

	* csl/cslpcm.h: next cleanup round.

Thu Apr 12 21:19:27 2001  Tim Janik  <timj@gtk.org>

	* csl/csldriverarts.c (csl_driver_init_arts): support
	ARTS_SERVER and ARTS_COOKIE environment variables,
	instead of CSL_*.

Tue Apr 10 23:54:38 2001  Stefan Westerfeld  <stefan@space.twc.de>

	* csl/cslmcopdispatcher.[ch]: added _csl_mcop_object_copy_remote
	implementation

	* csl/cslartssoundserver.[ch]: new need_copy parameter to the
	..._from_reference function, which should be set to TRUE for
	references to global objects (they require _copyRemote)

	* csl/cslcat.c csl/cslplay.c: fixed reference counting problem
	using the changes mentioned above

	* csl/cslmd5.c: #include <time.h>

Tue Apr 10 04:55:30 2001  Stefan Westerfeld  <stefan@space.twc.de>

	* csl/cslmcopglobalcomm.h: properly close extern "C" for
	C++ apps.

Tue Apr 10 04:21:00 2001  Tim Janik  <timj@gtk.org>

	* configure.in: remove Gtk+ dependancy.

Tue Apr 10 04:06:17 2001  Tim Janik  <timj@gtk.org>

	* ac_csl.m4: set of helper AC macros for
	configure.in.

	* autogen.sh: add this to guide post-checkout
	package setup (developers need to have libtool, aclocal,
	gettext, autoconf, automake, perl etc..).
	

Tue Apr 10 03:20:33 2001  Tim Janik  <timj@gtk.org>

	* initial checkin of CSL.

