Mercurial > audlegacy
annotate Plugins/Output/alsa/alsa.h @ 1269:681b629322c4 trunk
[svn] - hook up fileinfo box stuff
author | nenolod |
---|---|
date | Thu, 15 Jun 2006 22:23:39 -0700 |
parents | 6bafb1360398 |
children | 847d9a218f66 |
rev | line source |
---|---|
61 | 1 /* XMMS - ALSA output plugin |
2 * Copyright (C) 2001-2003 Matthieu Sozeau | |
3 * Copyright (C) 1998-2003 Peter Alm, Mikael Alm, Olle Hallnas, | |
4 * Thomas Nilsson and 4Front Technologies | |
5 * Copyright (C) 1999-2004 Håvard Kvålen | |
6 * | |
7 * This program 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 2 of the License, or | |
10 * (at your option) any later version. | |
11 * | |
12 * This program 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, write to the Free Software | |
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
20 */ | |
21 #ifndef ALSA_H | |
22 #define ALSA_H | |
23 | |
24 #include "config.h" | |
25 | |
26 #include <libaudacious/util.h> | |
211
0b48662886e9
[svn] Sync ALSA plugin with enhancements/patches from Fatal (XMMS cvs)
nenolod
parents:
61
diff
changeset
|
27 #include <libaudacious/configdb.h> |
1150 | 28 #include <audacious/main.h> |
61 | 29 #include <audacious/plugin.h> |
211
0b48662886e9
[svn] Sync ALSA plugin with enhancements/patches from Fatal (XMMS cvs)
nenolod
parents:
61
diff
changeset
|
30 #include <glib/gi18n.h> |
61 | 31 |
32 #define ALSA_PCM_NEW_HW_PARAMS_API | |
33 #define ALSA_PCM_NEW_SW_PARAMS_API | |
34 #include <alsa/asoundlib.h> | |
35 #include <alsa/pcm_plugin.h> | |
36 | |
37 #include <gtk/gtk.h> | |
38 | |
39 #ifdef WORDS_BIGENDIAN | |
40 # define IS_BIG_ENDIAN TRUE | |
41 #else | |
42 # define IS_BIG_ENDIAN FALSE | |
43 #endif | |
44 | |
45 extern OutputPlugin op; | |
46 | |
47 struct alsa_config | |
48 { | |
49 char *pcm_device; | |
50 int mixer_card; | |
51 char *mixer_device; | |
52 int buffer_time; | |
53 int period_time; | |
54 gboolean debug; | |
55 struct | |
56 { | |
57 int left, right; | |
58 } vol; | |
59 gboolean soft_volume; | |
60 }; | |
61 | |
62 extern struct alsa_config alsa_cfg; | |
63 | |
64 void alsa_init(void); | |
813
c8cf439179b8
[svn] - Fix a ton and a half of memory leaks, via the wonderful Leonardo Boshell <leonardop -at- gentoo.org>.
nenolod
parents:
517
diff
changeset
|
65 void alsa_cleanup(void); |
61 | 66 void alsa_about(void); |
67 void alsa_configure(void); | |
68 int alsa_get_mixer(snd_mixer_t **mixer, int card); | |
69 void alsa_save_config(void); | |
70 | |
71 void alsa_get_volume(int *l, int *r); | |
72 void alsa_set_volume(int l, int r); | |
73 | |
74 int alsa_playing(void); | |
75 int alsa_free(void); | |
76 void alsa_write(void *ptr, int length); | |
77 void alsa_close(void); | |
78 void alsa_flush(int time); | |
79 void alsa_pause(short p); | |
80 int alsa_open(AFormat fmt, int rate, int nch); | |
81 int alsa_get_output_time(void); | |
82 int alsa_get_written_time(void); | |
517
55dc40ff1aff
[svn] Add tell_audio(AFormat *, gint *, gint *), for retrieving audio
nenolod
parents:
211
diff
changeset
|
83 void alsa_tell(AFormat * fmt, gint * rate, gint * nch); |
61 | 84 |
85 #endif |