annotate mixer.h @ 34114:113156bc1137

Ensure that filename related config will always be loaded. Currently, filename related config will only be loaded if MPlayer knows the filename when it gets called, which isn't the case if either MPlayer is called in slave mode or the GUI is called without file argument. In either case, the file to be played is known only later. If filename related config hasn't yet been read, do it after leaving the idle mode loop.
author ib
date Sat, 15 Oct 2011 11:07:29 +0000
parents c1a3f1bbba26
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30429
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
1 /*
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
2 * This file is part of MPlayer.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
3 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
5 * it under the terms of the GNU General Public License as published by
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
7 * (at your option) any later version.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
8 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
12 * GNU General Public License for more details.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
13 *
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
14 * You should have received a copy of the GNU General Public License along
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
17 */
c1a3f1bbba26 Add license header to all top-level files missing them.
diego
parents: 28051
diff changeset
18
23934
88bed2131f19 Identifiers starting with underscores are reserved.
diego
parents: 23568
diff changeset
19 #ifndef MPLAYER_MIXER_H
88bed2131f19 Identifiers starting with underscores are reserved.
diego
parents: 23568
diff changeset
20 #define MPLAYER_MIXER_H
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
21
12672
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
22 #include "libaf/af.h"
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
23 #include "libao2/audio_out.h"
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
24
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
25 extern char * mixer_device;
11837
4e8f8efb6906 add option to select mixer channel
attila
parents: 6311
diff changeset
26 extern char * mixer_channel;
13933
75b84965d137 allow forcing of software volume control and setting maximum amplification.
reimar
parents: 12672
diff changeset
27 extern int soft_vol;
75b84965d137 allow forcing of software volume control and setting maximum amplification.
reimar
parents: 12672
diff changeset
28 extern float soft_vol_max;
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
29
12672
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
30 typedef struct mixer_s {
25913
21a1dc062bc5 ao_functions_t should be const, part 1
reimar
parents: 23934
diff changeset
31 const ao_functions_t *audio_out;
12672
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
32 af_stream_t *afilter;
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
33 int volstep;
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
34 int muted;
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
35 float last_l, last_r;
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
36 } mixer_t;
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
37
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
38 void mixer_getvolume(mixer_t *mixer, float *l, float *r);
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
39 void mixer_setvolume(mixer_t *mixer, float l, float r);
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
40 void mixer_incvolume(mixer_t *mixer);
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
41 void mixer_decvolume(mixer_t *mixer);
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
42 void mixer_getbothvolume(mixer_t *mixer, float *b);
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
43 void mixer_mute(mixer_t *mixer);
23568
519e42b716aa The audio balance feature implemented with af_pan.
zuxy
parents: 13933
diff changeset
44 void mixer_getbalance(mixer_t *mixer, float *bal);
519e42b716aa The audio balance feature implemented with af_pan.
zuxy
parents: 13933
diff changeset
45 void mixer_setbalance(mixer_t *mixer, float bal);
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
46
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 25913
diff changeset
47 //void mixer_setbothvolume(int v);
12672
9709ce101949 New 'Mixer API' with ability to change volume through libaf (this part was written by Reimar Doffinger) and lesser global variables
alex
parents: 11837
diff changeset
48 #define mixer_setbothvolume(m, v) mixer_setvolume(m, v, v)
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
49
23934
88bed2131f19 Identifiers starting with underscores are reserved.
diego
parents: 23568
diff changeset
50 #endif /* MPLAYER_MIXER_H */