Partially sync files.el from XEmacs 21.5 for wildcard support.
[sxemacs] / src / media / sound-esd.h
1 /* sound-esd.c - play a sound over the esound daemon
2
3    Copyright (C) 2006 Sebastian Freundt
4
5 This file is part of SXEmacs
6
7 SXEmacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 SXEmacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
19
20
21 /* Synched up with: Not in FSF. */
22
23 #ifndef INCLUDED_sound_esd_h_
24 #define INCLUDED_sound_esd_h_
25
26 #include "sound.h"
27 #include "media-internal.h"
28 #include <esd.h>
29
30 typedef struct sound_esd_data_s sound_esd_data_t;
31 typedef struct sound_esd_aj_data_s sound_esd_aj_data_t;
32
33 extern Lisp_Object Qesd;                /* initialised in sound.c */
34
35 struct sound_esd_data_s {
36         /* host which runs the daemon */
37         Lisp_Object server;
38         int desc;
39         int lock;
40         int keep_open;
41         int sock;               /* nah, we use the other sock */
42 };
43
44 struct sound_esd_aj_data_s {
45         /* stream props */
46         size_t samplerate;      /* rate used on the device */
47         size_t samplewidth;     /* width used on the device */
48         unsigned int channels;  /* channels used on the device */
49         size_t framesize;       /* resulting framesize */
50         int sock;               /* socket fd */
51         int flags;              /* ESD flags */
52         /* coercion stuff */
53         int coe_ch_cnt;
54         audio_coerce_chain_t coe_chain[4];
55         mtype_audio_properties *mtap;
56 };
57
58 #define DEVICE_CONNECTED_TO_ESD_P(x) 1  /* FIXME: better check */
59
60 DECLARE_AUDIO_DEVICE(sound_esd);
61
62 #endif  /* INCLUDED_sound_esd_h_ */