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

Last change on this file since 10367 was 8855, checked in by sandervl, 23 years ago

some cleanup

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