]> code.delx.au - pulseaudio/blob - polyp/polyplib.h
Make the whole stuff LGPL only
[pulseaudio] / polyp / polyplib.h
1 #ifndef foopolyplibhfoo
2 #define foopolyplibhfoo
3
4 /* $Id$ */
5
6 /***
7 This file is part of polypaudio.
8
9 polypaudio is free software; you can redistribute it and/or modify
10 it under the terms of the GNU Lesser General Public License as
11 published by the Free Software Foundation; either version 2.1 of the
12 License, or (at your option) any later version.
13
14 polypaudio is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 Lesser General Public License for more details.
18
19 You should have received a copy of the GNU Lesser General Public
20 License along with polypaudio; if not, write to the Free Software
21 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
22 USA.
23 ***/
24
25 #include "cdecl.h"
26 #include "mainloop-api.h"
27 #include "sample.h"
28 #include "polyplib-def.h"
29 #include "polyplib-context.h"
30 #include "polyplib-stream.h"
31 #include "polyplib-introspect.h"
32 #include "polyplib-subscribe.h"
33 #include "polyplib-scache.h"
34 #include "polyplib-version.h"
35
36 /** \file
37 * Include all polyplib header file at once. The following files are included: \ref mainloop-api.h, \ref sample.h,
38 * \ref polyplib-def.h, \ref polyplib-context.h, \ref polyplib-stream.h,
39 * \ref polyplib-introspect.h, \ref polyplib-subscribe.h and \ref polyplib-scache.h \ref polyplib-version.h
40 * at once */
41
42 /** \mainpage
43 *
44 * \section intro_sec Introduction
45 *
46 * This document describes the client API for the polypaudio sound
47 * server. The API comes in two flavours:
48 *
49 * \li The complete but somewhat complicated to use asynchronous API
50 * \li And the simplified, easy to use, but limited synchronous API
51 *
52 * The polypaudio client libraries are thread safe as long as all
53 * objects created by any library function are accessed from the thread
54 * that created them only.
55 *
56 * \section simple_sec Simple API
57 *
58 * Use this if you develop your program in synchronous style and just
59 * need a way to play or record data on the sound server. See
60 * \ref polyplib-simple.h for more details.
61 *
62 * \section async_api Asynchronous API
63 *
64 * Use this if you develop your programs in asynchronous, main loop
65 * based style or want to use advanced features of the polypaudio
66 * API. A good starting point is \ref polyplib-context.h
67 *
68 * The asynchronous API relies on an abstract main loop API that is
69 * described in \ref mainloop-api.h. Two distinct implementations are
70 * available:
71 *
72 * \li \ref mainloop.h: a minimal but fast implementation based on poll()
73 * \li \ref glib-mainloop.h: a wrapper around GLIB's main loop
74 *
75 * UNIX signals may be hooked to a main loop using the functions from
76 * \ref mainloop-signal.h
77 *
78 * \section pkgconfig pkg-config
79 *
80 * The polypaudio libraries provide pkg-config snippets for the different modules. To use the
81 * asynchronous API use "polyplib" as pkg-config file. GLIB main loop
82 * support is available as "polyplib-glib-mainloop". The simple
83 * synchronous API is available as "polyplib-simple".
84 */
85
86 #endif