annotate mixer.h @ 27321:2c0abab6b9b7

Use GetTimerMS() instead of time() with srand. This is more portable and avoids generating the same random numbers for a whole second (and on MinGW for some unexplainable reason for almost 10 seconds).
author reimar
date Sat, 26 Jul 2008 21:58:00 +0000
parents 21a1dc062bc5
children 9e739bdb049c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23934
88bed2131f19 Identifiers starting with underscores are reserved.
diego
parents: 23568
diff changeset
1 #ifndef MPLAYER_MIXER_H
88bed2131f19 Identifiers starting with underscores are reserved.
diego
parents: 23568
diff changeset
2 #define MPLAYER_MIXER_H
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
3
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
4 #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
5 #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
6
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
7 extern char * mixer_device;
11837
4e8f8efb6906 add option to select mixer channel
attila
parents: 6311
diff changeset
8 extern char * mixer_channel;
13933
75b84965d137 allow forcing of software volume control and setting maximum amplification.
reimar
parents: 12672
diff changeset
9 extern int soft_vol;
75b84965d137 allow forcing of software volume control and setting maximum amplification.
reimar
parents: 12672
diff changeset
10 extern float soft_vol_max;
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
11
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
12 typedef struct mixer_s {
25913
21a1dc062bc5 ao_functions_t should be const, part 1
reimar
parents: 23934
diff changeset
13 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
14 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
15 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
16 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
17 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
18 } 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
19
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
20 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
21 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
22 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
23 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
24 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
25 void mixer_mute(mixer_t *mixer);
23568
519e42b716aa The audio balance feature implemented with af_pan.
zuxy
parents: 13933
diff changeset
26 void mixer_getbalance(mixer_t *mixer, float *bal);
519e42b716aa The audio balance feature implemented with af_pan.
zuxy
parents: 13933
diff changeset
27 void mixer_setbalance(mixer_t *mixer, float bal);
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
28
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
29 //extern 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
30 #define mixer_setbothvolume(m, v) mixer_setvolume(m, v, v)
441
c4b4e2aac9de ups, I missed'em..
gabucino
parents:
diff changeset
31
23934
88bed2131f19 Identifiers starting with underscores are reserved.
diego
parents: 23568
diff changeset
32 #endif /* MPLAYER_MIXER_H */