source: trunk/src/winmm/mixeros2.h@ 8498

Last change on this file since 8498 was 8493, checked in by sandervl, 23 years ago

mixer updates

File size: 4.5 KB
Line 
1/* $Id: mixeros2.h,v 1.6 2002-05-26 10:52:31 sandervl Exp $ */
2
3/*
4 * Mixer multimedia
5 *
6 * Copyright 2002 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12
13#ifndef __WINMM_OS2MIXER_H__
14#define __WINMM_OS2MIXER_H__
15
16#define MIXER_IOCTL90_MAX_VOLUME 100
17#define MIXER_WIN32_MIN_VOLUME 0
18#define MIXER_WIN32_MAX_VOLUME 65535
19#define MIXER_WIN32_CSTEP_VOLUME 31
20
21#define WIN32_TO_IOCTL90_VOLUME(a) ((a*MIXER_IOCTL90_MAX_VOLUME)/(MIXER_WIN32_MAX_VOLUME-MIXER_WIN32_MIN_VOLUME))
22#define IOCTL90_TO_WIN32_VOLUME(a) ((a*(MIXER_WIN32_MAX_VOLUME-MIXER_WIN32_MIN_VOLUME))/MIXER_IOCTL90_MAX_VOLUME)
23
24#define MIX_CTRL_VOL_OUT_LINE 0
25#define MIX_CTRL_MUTE_OUT_LINE 1
26#define MIX_CTRL_VOL_IN_L_MONO 2
27#define MIX_CTRL_MUTE_IN_L_MONO 3
28#define MIX_CTRL_VOL_IN_L_PHONE 4
29#define MIX_CTRL_MUTE_IN_L_PHONE 5
30#define MIX_CTRL_VOL_IN_L_MIC 6
31#define MIX_CTRL_MUTE_IN_L_MIC 7
32#define MIX_CTRL_BOOST_IN_L_MIC 8
33#define MIX_CTRL_VOL_IN_L_LINE 9
34#define MIX_CTRL_MUTE_IN_L_LINE 10
35#define MIX_CTRL_VOL_IN_L_CD 11
36#define MIX_CTRL_MUTE_IN_L_CD 12
37#define MIX_CTRL_VOL_IN_L_SPDIF 13
38#define MIX_CTRL_MUTE_IN_L_SPDIF 14
39#define MIX_CTRL_VOL_OUT_SPDIF 15
40#define MIX_CTRL_MUTE_OUT_SPDIF 16
41#define MIX_CTRL_VOL_IN_L_VIDEO 17
42#define MIX_CTRL_MUTE_IN_L_VIDEO 18
43#define MIX_CTRL_VOL_IN_L_AUX 19
44#define MIX_CTRL_MUTE_IN_L_AUX 20
45#define MIX_CTRL_VOL_IN_L_PCM 21
46#define MIX_CTRL_MUTE_IN_L_PCM 22
47#define MIX_CTRL_VOL_IN_L_WAVETABLE 23
48#define MIX_CTRL_MUTE_IN_L_WAVETABLE 24
49#define MIX_CTRL_VOL_IN_L_MIDI 25
50#define MIX_CTRL_MUTE_IN_L_MIDI 26
51#define MIX_CTRL_OUT_L_3DCENTER 27
52#define MIX_CTRL_OUT_L_3DDEPTH 28
53#define MIX_CTRL_OUT_L_TREBLE 29
54#define MIX_CTRL_OUT_L_BASS 30
55#define MIX_CTRL_MUX_IN_W_SRC 31
56#define MIX_CTRL_VOL_IN_W_MONO 32
57#define MIX_CTRL_VOL_IN_W_PHONE 33
58#define MIX_CTRL_VOL_IN_W_MIC 34
59#define MIX_CTRL_VOL_IN_W_LINE 35
60#define MIX_CTRL_VOL_IN_W_CD 36
61#define MIX_CTRL_VOL_IN_W_SPDIF 37
62#define MIX_CTRL_VOL_IN_W_VIDEO 38
63#define MIX_CTRL_VOL_IN_W_AUX 39
64#define MIX_CTRL_VOL_IN_W_PCM 40
65#define MIX_CTRL_VOL_IN_W_WAVETABLE 41
66#define MIX_CTRL_VOL_IN_W_MIDI 42
67#define MIX_CTRL_VOL_IN_W_STEREOMIX 43
68#define MIX_CTRL_VOL_IN_W_MONOMIX 44
69#define MIX_CTRL_MAX 45
70
71#define MIXER_SRC_IN_L_MONOIN 0
72#define MIXER_SRC_IN_L_PHONE 1
73#define MIXER_SRC_IN_L_MIC 2
74#define MIXER_SRC_IN_L_LINE 3
75#define MIXER_SRC_IN_L_CD 4
76#define MIXER_SRC_IN_L_SPDIF 5
77#define MIXER_SRC_IN_L_VIDEO 6
78#define MIXER_SRC_IN_L_AUX 7
79#define MIXER_SRC_IN_L_PCM 8
80#define MIXER_SRC_IN_L_WAVETABLE 9
81#define MIXER_SRC_IN_L_MIDI 10
82#define MIXER_SRC_IN_W_MONOIN 11
83#define MIXER_SRC_IN_W_PHONE 12
84#define MIXER_SRC_IN_W_MIC 13
85#define MIXER_SRC_IN_W_LINE 14
86#define MIXER_SRC_IN_W_CD 15
87#define MIXER_SRC_IN_W_SPDIF 16
88#define MIXER_SRC_IN_W_VIDEO 17
89#define MIXER_SRC_IN_W_AUX 18
90#define MIXER_SRC_IN_W_PCM 19
91#define MIXER_SRC_IN_W_WAVETABLE 20
92#define MIXER_SRC_IN_W_MIDI 21
93#define MIXER_SRC_IN_W_STEREOMIX 22
94#define MIXER_SRC_IN_W_MONOMIX 23
95#define MIXER_SRC_MAX 24
96
97//max controls connected to a source line
98#define MAX_SOURCE_CONTROLS 8
99
100#define MIXER_DEST_LINEOUT 0
101#define MIXER_DEST_WAVEIN 1
102#define MIXER_DEST_SPDIFOUT 2
103#define MIXER_DEST_MAX 3
104
105#define MAX_MIXER_LINES (MIXER_SRC_MAX+MIXER_DEST_MAX)
106
107#ifdef __cplusplus
108extern "C" {
109#endif
110
111BOOL OSLibMixerOpen();
112void OSLibMixerClose();
113
114BOOL OSLibMixIsControlPresent(DWORD dwControl);
115BOOL OSLibMixSetVolume(DWORD dwControl, BOOL fMute, DWORD dwVolLeft, DWORD dwVolRight);
116BOOL OSLibMixGetVolume(DWORD dwControl, BOOL *pfMute, DWORD *pdwVolLeft, DWORD *pdwVolRight);
117BOOL OSLibMixSetRecSource(DWORD dwRecSrc, DWORD dwVolL, DWORD dwVolR);
118BOOL OSLibMixGetRecSource(DWORD *pdwRecSrc, DWORD *pdwVolL, DWORD *pdwVolR);
119BOOL OSLibMixIsRecSourcePresent(DWORD dwRecSrc);
120BOOL OSLibMixGetCtrlCaps(DWORD dwControl, LONG *plMinimum, LONG *plMaximum, DWORD *pcSteps);
121
122#ifdef __cplusplus
123}
124#endif
125
126#endif //__WINMM_OS2MIXER_H__
Note: See TracBrowser for help on using the repository browser.