Changeset 8477 for trunk/src/winmm/mixeros2.cpp
- Timestamp:
- May 23, 2002, 3:50:16 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/winmm/mixeros2.cpp
r8472 r8477 1 /* $Id: mixeros2.cpp,v 1. 1 2002-05-22 20:19:11sandervl Exp $ */1 /* $Id: mixeros2.cpp,v 1.2 2002-05-23 13:50:15 sandervl Exp $ */ 2 2 3 3 /* … … 73 73 74 74 switch(dwControl) { 75 case MIXER_CTRL_MONOIN: 75 case MIX_CTRL_VOL_IN_L_MONO: 76 case MIX_CTRL_MUTE_IN_L_MONO: 76 77 idx = MONOINSET; 77 78 break; 78 case MIXER_CTRL_PHONE: 79 case MIX_CTRL_VOL_IN_L_PHONE: 80 case MIX_CTRL_MUTE_IN_L_PHONE: 79 81 idx = PHONESET; 80 82 break; 81 case MIXER_CTRL_MIC: 83 case MIX_CTRL_VOL_IN_L_MIC: 84 case MIX_CTRL_MUTE_IN_L_MIC: 82 85 idx = MICSET; 83 86 break; 84 case MIXER_CTRL_LINE: 87 case MIX_CTRL_VOL_IN_L_LINE: 88 case MIX_CTRL_MUTE_IN_L_LINE: 85 89 idx = LINESET; 86 90 break; 87 case MIXER_CTRL_CD: 91 case MIX_CTRL_VOL_IN_L_CD: 92 case MIX_CTRL_MUTE_IN_L_CD: 88 93 idx = CDSET; 89 94 break; 90 case MIXER_CTRL_VIDEO: 95 case MIX_CTRL_VOL_IN_L_VIDEO: 96 case MIX_CTRL_MUTE_IN_L_VIDEO: 91 97 idx = VIDEOSET; 92 98 break; 93 case MIXER_CTRL_AUX: 99 case MIX_CTRL_VOL_IN_L_AUX: 100 case MIX_CTRL_MUTE_IN_L_AUX: 94 101 idx = AUXSET; 95 102 break; 96 case MIXER_CTRL_BASS: 103 case MIX_CTRL_OUT_L_BASS: 104 case MIX_CTRL_OUT_L_TREBLE: 97 105 idx = BASSTREBLESET; 98 106 break; 99 case MIXER_CTRL_TREBLE: 100 idx = BASSTREBLESET; 101 break; 102 case MIXER_CTRL_3D: 107 case MIX_CTRL_OUT_L_3DCENTER: 108 case MIX_CTRL_OUT_L_3DDEPTH: 103 109 idx = THREEDSET; 104 110 break; 105 case MIXER_CTRL_STREAMVOL: 111 case MIX_CTRL_VOL_IN_L_PCM: 112 case MIX_CTRL_MUTE_IN_L_PCM: 106 113 idx = STREAMVOLSET; 107 114 break; 108 case MIX ER_CTRL_RECORDSRC:115 case MIX_CTRL_MUX_IN_W_SRC: 109 116 idx = RECORDSRCSET; 110 117 break; 111 case MIXER_CTRL_RECORDGAIN:112 idx = RECORDGAINSET;113 break;114 118 default: 115 DebugInt3();116 119 return -1; 117 120 } … … 188 191 /******************************************************************************/ 189 192 /******************************************************************************/ 190 BOOL OSLibMixSetRecSource(DWORD dwRecSrc) 193 BOOL OSLibMixIsRecSourcePresent(DWORD dwRecSrc) 194 { 195 DWORD dwOldRecSrc, dwVolL, dwVolR; 196 197 if(OSLibMixGetRecSource(&dwOldRecSrc, &dwVolL, &dwVolR) == FALSE) { 198 return FALSE; 199 } 200 if(OSLibMixSetRecSource(dwRecSrc, dwVolL, dwVolR) == FALSE) { 201 return FALSE; 202 } 203 OSLibMixSetRecSource(dwOldRecSrc, dwVolL, dwVolR); 204 return TRUE; 205 } 206 /******************************************************************************/ 207 /******************************************************************************/ 208 BOOL OSLibMixSetRecSource(DWORD dwRecSrc, DWORD dwVolL, DWORD dwVolR) 191 209 { 192 210 DWORD idx; … … 194 212 195 213 switch(dwRecSrc) { 196 case MIX ER_RECSRC_MIC:214 case MIX_CTRL_VOL_IN_W_MIC: 197 215 idx = I90SRC_MIC; 198 216 break; 199 case MIX ER_RECSRC_CD:217 case MIX_CTRL_VOL_IN_W_CD: 200 218 idx = I90SRC_CD; 201 219 break; 202 case MIX ER_RECSRC_VIDEO:220 case MIX_CTRL_VOL_IN_W_VIDEO: 203 221 idx = I90SRC_VIDEO; 204 222 break; 205 case MIX ER_RECSRC_AUX:223 case MIX_CTRL_VOL_IN_W_AUX: 206 224 idx = I90SRC_AUX; 207 225 break; 208 case MIX ER_RECSRC_LINE:226 case MIX_CTRL_VOL_IN_W_LINE: 209 227 idx = I90SRC_LINE; 210 228 break; 211 case MIXER_RECSRC_RES5: 212 idx = I90SRC_RES5; 213 break; 214 case MIXER_RECSRC_RES6: 215 idx = I90SRC_RES6; 216 break; 217 case MIXER_RECSRC_PHONE: 229 case MIX_CTRL_VOL_IN_W_PHONE: 218 230 idx = I90SRC_PHONE; 231 break; 232 default: 233 return FALSE; 234 } 235 mixstruct.Mute = 0; 236 mixstruct.VolumeL = idx; 237 238 if(mixerapiIOCTL90(hPDDMix, RECORDSRCSET, &mixstruct, sizeof(mixstruct)) == FALSE) { 239 dprintf(("OSLibMixSetRecSource: mixerapiIOCTL90 RECORDSRCSET failed!!")); 240 return FALSE; 241 } 242 243 mixstruct.Mute = 0; 244 mixstruct.VolumeL = dwVolL; 245 mixstruct.VolumeR = dwVolR; 246 if(mixerapiIOCTL90(hPDDMix, RECORDGAINSET, &mixstruct, sizeof(mixstruct)) == FALSE) { 247 dprintf(("OSLibMixSetRecSource: mixerapiIOCTL90 RECORDGAINSET failed!!")); 248 return FALSE; 249 } 250 return TRUE; 251 } 252 /******************************************************************************/ 253 /******************************************************************************/ 254 BOOL OSLibMixGetRecSource(DWORD *pdwRecSrc, DWORD *pdwVolL, DWORD *pdwVolR) 255 { 256 DWORD idx; 257 MIXSTRUCT mixstruct; 258 259 if(mixerapiIOCTL90(hPDDMix, RECORDSRCQUERY, &mixstruct, sizeof(mixstruct)) == FALSE) { 260 dprintf(("OSLibMixSetRecSource: mixerapiIOCTL90 RECORDSRCGET failed!!")); 261 return FALSE; 262 } 263 switch(mixstruct.VolumeL) { 264 case I90SRC_MIC: 265 idx = MIX_CTRL_VOL_IN_W_MIC; 266 break; 267 case I90SRC_CD: 268 idx = MIX_CTRL_VOL_IN_W_CD; 269 break; 270 case I90SRC_VIDEO: 271 idx = MIX_CTRL_VOL_IN_W_VIDEO; 272 break; 273 case I90SRC_AUX: 274 idx = MIX_CTRL_VOL_IN_W_AUX; 275 break; 276 case I90SRC_LINE: 277 idx = MIX_CTRL_VOL_IN_W_LINE; 278 break; 279 case I90SRC_PHONE: 280 idx = MIX_CTRL_VOL_IN_W_PHONE; 219 281 break; 220 282 default: … … 222 284 return FALSE; 223 285 } 224 mixstruct.Mute = 0;225 mixstruct.VolumeL = idx;226 227 if(mixerapiIOCTL90(hPDDMix, RECORDSRCSET, &mixstruct, sizeof(mixstruct)) == TRUE) {228 return TRUE;229 }230 dprintf(("OSLibMixSetRecSource: mixerapiIOCTL90 RECORDSRCSET failed!!"));231 return FALSE;232 }233 /******************************************************************************/234 /******************************************************************************/235 BOOL OSLibMixGetRecSource(DWORD *pdwRecSrc)236 {237 DWORD idx;238 MIXSTRUCT mixstruct;239 240 if(mixerapiIOCTL90(hPDDMix, RECORDSRCQUERY, &mixstruct, sizeof(mixstruct)) == FALSE) {241 dprintf(("OSLibMixSetRecSource: mixerapiIOCTL90 RECORDSRCGET failed!!"));242 return FALSE;243 }244 switch(mixstruct.VolumeL) {245 case I90SRC_MIC:246 idx = MIXER_RECSRC_MIC;247 break;248 case I90SRC_CD:249 idx = MIXER_RECSRC_CD;250 break;251 case I90SRC_VIDEO:252 idx = MIXER_RECSRC_VIDEO;253 break;254 case I90SRC_AUX:255 idx = MIXER_RECSRC_AUX;256 break;257 case I90SRC_LINE:258 idx = MIXER_RECSRC_LINE;259 break;260 case I90SRC_RES5:261 idx = MIXER_RECSRC_RES5;262 break;263 case I90SRC_RES6:264 idx = MIXER_RECSRC_RES6;265 break;266 case I90SRC_PHONE:267 idx = MIXER_RECSRC_PHONE;268 break;269 default:270 DebugInt3();271 return FALSE;272 }273 286 if(pdwRecSrc) { 274 287 *pdwRecSrc = idx; 288 } 289 if(mixerapiIOCTL90(hPDDMix, RECORDGAINQUERY, &mixstruct, sizeof(mixstruct)) == FALSE) { 290 dprintf(("OSLibMixSetRecSource: mixerapiIOCTL90 RECORDGAINQUERY failed!!")); 291 return FALSE; 292 } 293 if(pdwVolL) { 294 *pdwVolL = mixstruct.VolumeL; 295 } 296 if(pdwVolR) { 297 *pdwVolR = mixstruct.VolumeR; 275 298 } 276 299 return TRUE;
Note:
See TracChangeset
for help on using the changeset viewer.