# libcw

libcw is an application framework for developming real-time interactive applications on Linux.

Some of libcw's features are:

- Synchronous and asynchronous interfaces to many common IO devices including:
  + Audio
  + MIDI
  + Serial
  + Sockets
  + Websockets
 
- Built-in dataflow framework for describing real-time audio and DSP programs.

- GUI development API and collection of predefined widgets for developing websocket based user interfaces.

- All elements of the framework are easily configurable based on extended JSON files.

- Minimal dependencies.  The only external dependencies are `libasound`, `libwebsockets` and `libfftw`.

- A large collection of pre-built audio signal processing algorithms









