
Urgent todos:
==============
- detect when a socket is dead, and handle that with DOWN in csl_arts_process_message()
- PCM: need open()==ENONE=>active for OSS (and halfduplex open), but, need
  to be suspended to setup packet/streaming modes/parameters
  
API todos:
==========
- take over esound API
- take over artsc API
- suspend implies sync?
- csl_select (driver, ...);

Whishlist:
==========
- 8bit, signed
- syncing of n streams (esp. for play/record)
- recording+resampling for CSL::Adapter

Module split up (cross KDE/GNOME):
==================================
FREEDESKTOP:
        libaudiofile (needs to be moved from GNOME and merged
        	      with KDE local fixes)
        arts (deps: libaudiofile, libstdc++)
        csl
GNOME:	gartscontrol
	GIOManager (for artsd)
KDE:	kartscontrol
	QtIOManager (for artsd)


Outstanding:
============
KNotify	?


On open() vs. activate():
=========================

tasks (in order)

1) create stream
2) set sample parameters
3) set buffer parameters
4) open(device) (*)
5) use device
6) close()
7) go back to 2)

*) could change user provided parameter settings (esp. buffering)
   and might fail with CSL_E* for the caller

current mapping:
	stream_open: 1,2,4 (*)
	missing: 3

proposed mapping:
	stream_open: 1 2
	set_packet/stream_mode: 3
	activate: 4 (*)
	suspend: 6
