- Timestamp:
- May 26, 2002, 12:52:31 PM (23 years ago)
- Location:
- trunk/src/winmm
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/winmm/mixer.cpp
r8492 r8493 1 /* $Id: mixer.cpp,v 1.1 7 2002-05-25 17:19:40 sandervl Exp $ */1 /* $Id: mixer.cpp,v 1.18 2002-05-26 10:52:30 sandervl Exp $ */ 2 2 3 3 /* … … 41 41 #include "dbglocal.h" 42 42 43 static MIXERCONTROLA *mixerAddControl( MIXERLINEA *pDestLine,DWORD dwControl, MIXERLINEA *pSrcLine);44 static MIXERLINEA *mixerAddSource(MIXER LINEA*pDestLine, DWORD dwSource);45 static MIXER LINEA*mixerAddDestination(DWORD dwDest);43 static MIXERCONTROLA *mixerAddControl(DWORD dwControl, MIXERLINEA *pSrcLine); 44 static MIXERLINEA *mixerAddSource(MIXERDEST *pDestLine, DWORD dwSource); 45 static MIXERDEST *mixerAddDestination(DWORD dwDest); 46 46 47 47 //array of destination mixer lines 48 static MIXERLINEA mixerDest[MAX_MIXER_DESTINATIONS] = {0}; 49 //array of connected sources to destinations 50 static int mixerDestInputs[MAX_MIXER_DESTINATIONS][MAX_MIXER_SOURCES] = {-1}; 48 static MIXERDEST mixerDest[MAX_MIXER_DESTINATIONS]; 51 49 //array of source mixer lines 52 50 static MIXERLINEA mixerSource[MAX_MIXER_SOURCES] = {0}; … … 66 64 static int nrControls = 0; 67 65 static int nrLines = 0; 68 static int nrLineOutInputs = 0;69 static int nrWaveInInputs = 0;70 66 71 67 /******************************************************************************/ … … 128 124 } 129 125 //todo > 2 channels 130 break;126 return MMSYSERR_NOERROR; 131 127 } 132 128 case MIXERCONTROL_CONTROLTYPE_BASS: … … 154 150 } 155 151 //todo > 2 channels 156 break;152 return MMSYSERR_NOERROR; 157 153 } 158 154 case MIXERCONTROL_CONTROLTYPE_CUSTOM: … … 229 225 return MIXERR_INVALCONTROL; 230 226 } 231 break; 227 return MIXERR_INVALCONTROL; 228 232 229 case MIXER_GETCONTROLDETAILSF_LISTTEXT: 233 230 dprintf(("MIXER_GETCONTROLDETAILSF_LISTTEXT %d", lpmcd->dwControlID)); … … 616 613 return MMSYSERR_INVALPARAM; 617 614 } 618 memcpy(lpMl, &mixerDest[lpMl->dwDestination] , sizeof(MIXERLINEA));615 memcpy(lpMl, &mixerDest[lpMl->dwDestination].line, sizeof(MIXERLINEA)); 619 616 dprintf(("found line %s (%s) id %d connections %d controls %d", lpMl->szName, lpMl->szShortName, lpMl->dwLineID, lpMl->cConnections, lpMl->cControls)); 620 617 break; … … 637 634 } 638 635 if(lpMl->dwSource >= MIXER_SRC_MAX) { 639 dprintf(("ERROR: Invalid destination %d", lpMl->dwDestination));636 dprintf(("ERROR: Invalid source %d", lpMl->dwSource)); 640 637 return MIXERR_INVALLINE; 641 638 } 642 if(mixerDest Inputs[lpMl->dwDestination][lpMl->dwSource] == -1) {643 dprintf(("ERROR: Invalid destination %d", lpMl->dwDestination));639 if(mixerDest[lpMl->dwDestination].Sources[lpMl->dwSource] == -1) { 640 dprintf(("ERROR: Invalid destination/source combo (%d,%d)", lpMl->dwDestination, lpMl->dwSource)); 644 641 return MIXERR_INVALLINE; 645 642 } 646 memcpy(lpMl, &mixerSource[mixerDest Inputs[lpMl->dwDestination][lpMl->dwSource]], sizeof(MIXERLINEA));643 memcpy(lpMl, &mixerSource[mixerDest[lpMl->dwDestination].Sources[lpMl->dwSource]], sizeof(MIXERLINEA)); 647 644 dprintf(("found line %s (%s) id %d connections %d controls %d", lpMl->szName, lpMl->szShortName, lpMl->dwLineID, lpMl->cConnections, lpMl->cControls)); 648 645 break; … … 865 862 //According to MSDN, nothing is copied when cbmxcaps is zero 866 863 if(cbmxcaps >= sizeof(MIXERCAPSA)) { 867 // we have to fill in this thing868 864 pmxcaps->wMid = WINMM_MIXER_CAPS_WMID; /* manufacturer ID */ 869 865 pmxcaps->wPid = WINMM_MIXER_CAPS_WPID; /* product ID */ … … 892 888 //According to MSDN, nothing is copied when cbmxcaps is zero 893 889 if(cbmxcaps >= sizeof(MIXERCAPSW)) { 894 // we have to fill in this thing895 890 pmxcaps->wMid = WINMM_MIXER_CAPS_WMID; /* manufacturer ID */ 896 891 pmxcaps->wPid = WINMM_MIXER_CAPS_WPID; /* product ID */ … … 986 981 BOOL mixerInit() 987 982 { 988 MIXER LINEA*pDestLine;983 MIXERDEST *pDestLine; 989 984 MIXERCONTROLA *pWaveInMux; 990 985 … … 993 988 memset(mixerSourceLineId, -1, sizeof(mixerSourceLineId)); 994 989 memset(mixerLineControls, -1, sizeof(mixerLineControls)); 995 memset(mixerDestInputs, -1, sizeof(mixerDestInputs)); 990 memset(mixerDest, 0, sizeof(mixerDest)); 991 for(int i=0;i<MIXER_DEST_MAX;i++) { 992 memset(mixerDest[i].Sources, -1, sizeof(mixerDest[i].Sources)); 993 } 996 994 997 995 if(OSLibMixerOpen() == FALSE) { 998 996 //Line out destination 999 997 pDestLine = mixerAddDestination(MIXER_DEST_LINEOUT); 1000 mixerAddControl( pDestLine, MIX_CTRL_VOL_OUT_LINE, pDestLine);1001 mixerAddControl( pDestLine, MIX_CTRL_MUTE_OUT_LINE, pDestLine);998 mixerAddControl(MIX_CTRL_VOL_OUT_LINE, &pDestLine->line); 999 mixerAddControl(MIX_CTRL_MUTE_OUT_LINE, &pDestLine->line); 1002 1000 1003 1001 //WaveIn destination 1004 1002 pDestLine = mixerAddDestination(MIXER_DEST_WAVEIN); 1005 pWaveInMux = mixerAddControl( pDestLine, MIX_CTRL_MUX_IN_W_SRC, pDestLine);1006 mixerAddControl( pDestLine, MIX_CTRL_VOL_IN_W_MIC, pDestLine);1007 mixerAddControl( pDestLine, MIX_CTRL_VOL_IN_W_LINE, pDestLine);1008 pWaveInMux->cMultipleItems = pDestLine-> cConnections;1003 pWaveInMux = mixerAddControl(MIX_CTRL_MUX_IN_W_SRC, &pDestLine->line); 1004 mixerAddControl(MIX_CTRL_VOL_IN_W_MIC, &pDestLine->line); 1005 mixerAddControl(MIX_CTRL_VOL_IN_W_LINE, &pDestLine->line); 1006 pWaveInMux->cMultipleItems = pDestLine->line.cConnections; 1009 1007 return TRUE; 1010 1008 } … … 1013 1011 pDestLine = mixerAddDestination(MIXER_DEST_LINEOUT); 1014 1012 1015 mixerAddControl( pDestLine, MIX_CTRL_VOL_OUT_LINE, pDestLine);1016 mixerAddControl( pDestLine, MIX_CTRL_MUTE_OUT_LINE, pDestLine);1013 mixerAddControl(MIX_CTRL_VOL_OUT_LINE, &pDestLine->line); 1014 mixerAddControl(MIX_CTRL_MUTE_OUT_LINE, &pDestLine->line); 1017 1015 if(OSLibMixIsControlPresent(MIX_CTRL_OUT_L_3DCENTER)) { 1018 mixerAddControl( pDestLine, MIX_CTRL_OUT_L_3DCENTER, pDestLine);1016 mixerAddControl(MIX_CTRL_OUT_L_3DCENTER, &pDestLine->line); 1019 1017 } 1020 1018 if(OSLibMixIsControlPresent(MIX_CTRL_OUT_L_3DDEPTH)) { 1021 mixerAddControl( pDestLine, MIX_CTRL_OUT_L_3DDEPTH, pDestLine);1019 mixerAddControl(MIX_CTRL_OUT_L_3DDEPTH, &pDestLine->line); 1022 1020 } 1023 1021 if(OSLibMixIsControlPresent(MIX_CTRL_OUT_L_TREBLE)) { 1024 mixerAddControl( pDestLine, MIX_CTRL_OUT_L_TREBLE, pDestLine);1022 mixerAddControl(MIX_CTRL_OUT_L_TREBLE, &pDestLine->line); 1025 1023 } 1026 1024 if(OSLibMixIsControlPresent(MIX_CTRL_OUT_L_BASS)) { 1027 mixerAddControl( pDestLine, MIX_CTRL_OUT_L_BASS, pDestLine);1025 mixerAddControl(MIX_CTRL_OUT_L_BASS, &pDestLine->line); 1028 1026 } 1029 1027 1030 1028 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_PCM)) { 1031 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ PCM);1032 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_PCM, pLine);1033 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_PCM, pLine);1029 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_PCM); 1030 mixerAddControl(MIX_CTRL_VOL_IN_L_PCM, pLine); 1031 mixerAddControl(MIX_CTRL_MUTE_IN_L_PCM, pLine); 1034 1032 } 1035 1033 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_WAVETABLE)) { 1036 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ WAVETABLE);1037 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_WAVETABLE, pLine);1038 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_WAVETABLE, pLine);1034 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_WAVETABLE); 1035 mixerAddControl(MIX_CTRL_VOL_IN_L_WAVETABLE, pLine); 1036 mixerAddControl(MIX_CTRL_MUTE_IN_L_WAVETABLE, pLine); 1039 1037 } 1040 1038 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_MIDI)) { 1041 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ MIDI);1042 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_MIDI, pLine);1043 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_MIDI, pLine);1039 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_MIDI); 1040 mixerAddControl(MIX_CTRL_VOL_IN_L_MIDI, pLine); 1041 mixerAddControl(MIX_CTRL_MUTE_IN_L_MIDI, pLine); 1044 1042 } 1045 1043 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_MIC)) { 1046 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ MIC);1047 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_MIC, pLine);1048 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_MIC, pLine);1044 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_MIC); 1045 mixerAddControl(MIX_CTRL_VOL_IN_L_MIC, pLine); 1046 mixerAddControl(MIX_CTRL_MUTE_IN_L_MIC, pLine); 1049 1047 if(OSLibMixIsControlPresent(MIX_CTRL_BOOST_IN_L_MIC)) { 1050 mixerAddControl( pDestLine,MIX_CTRL_BOOST_IN_L_MIC, pLine);1048 mixerAddControl(MIX_CTRL_BOOST_IN_L_MIC, pLine); 1051 1049 } 1052 1050 } 1053 1051 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_LINE)) { 1054 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ LINE);1055 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_LINE, pLine);1056 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_LINE, pLine);1052 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_LINE); 1053 mixerAddControl(MIX_CTRL_VOL_IN_L_LINE, pLine); 1054 mixerAddControl(MIX_CTRL_MUTE_IN_L_LINE, pLine); 1057 1055 } 1058 1056 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_CD)) { 1059 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ CD);1060 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_CD, pLine);1061 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_CD, pLine);1057 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_CD); 1058 mixerAddControl(MIX_CTRL_VOL_IN_L_CD, pLine); 1059 mixerAddControl(MIX_CTRL_MUTE_IN_L_CD, pLine); 1062 1060 } 1063 1061 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_AUX)) { 1064 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ AUX);1065 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_AUX, pLine);1066 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_AUX, pLine);1062 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_AUX); 1063 mixerAddControl(MIX_CTRL_VOL_IN_L_AUX, pLine); 1064 mixerAddControl(MIX_CTRL_MUTE_IN_L_AUX, pLine); 1067 1065 } 1068 1066 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_SPDIF)) { 1069 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ SPDIF);1070 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_SPDIF, pLine);1071 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_SPDIF, pLine);1067 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_SPDIF); 1068 mixerAddControl(MIX_CTRL_VOL_IN_L_SPDIF, pLine); 1069 mixerAddControl(MIX_CTRL_MUTE_IN_L_SPDIF, pLine); 1072 1070 } 1073 1071 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_MONO)) { 1074 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ MONOIN);1075 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_MONO, pLine);1076 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_MONO, pLine);1072 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_MONOIN); 1073 mixerAddControl(MIX_CTRL_VOL_IN_L_MONO, pLine); 1074 mixerAddControl(MIX_CTRL_MUTE_IN_L_MONO, pLine); 1077 1075 } 1078 1076 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_PHONE)) { 1079 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ PHONE);1080 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_PHONE, pLine);1081 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_PHONE, pLine);1077 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_PHONE); 1078 mixerAddControl(MIX_CTRL_VOL_IN_L_PHONE, pLine); 1079 mixerAddControl(MIX_CTRL_MUTE_IN_L_PHONE, pLine); 1082 1080 } 1083 1081 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_IN_L_VIDEO)) { 1084 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_ VIDEO);1085 mixerAddControl( pDestLine,MIX_CTRL_VOL_IN_L_VIDEO, pLine);1086 mixerAddControl( pDestLine,MIX_CTRL_MUTE_IN_L_VIDEO, pLine);1082 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_L_VIDEO); 1083 mixerAddControl(MIX_CTRL_VOL_IN_L_VIDEO, pLine); 1084 mixerAddControl(MIX_CTRL_MUTE_IN_L_VIDEO, pLine); 1087 1085 } 1088 1086 … … 1090 1088 if(OSLibMixIsControlPresent(MIX_CTRL_MUX_IN_W_SRC)) { 1091 1089 pDestLine = mixerAddDestination(MIXER_DEST_WAVEIN); 1092 pWaveInMux = mixerAddControl(pDestLine, MIX_CTRL_MUX_IN_W_SRC, pDestLine); 1093 1094 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_MIC)) { 1095 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_MIC, pDestLine); 1096 } 1097 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_LINE)) { 1098 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_LINE, pDestLine); 1099 } 1100 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_CD)) { 1101 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_CD, pDestLine); 1102 } 1103 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_AUX)) { 1104 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_AUX, pDestLine); 1105 } 1106 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_PCM)) { 1107 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_PCM, pDestLine); 1108 } 1109 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_WAVETABLE)) { 1110 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_WAVETABLE, pDestLine); 1111 } 1112 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_MIDI)) { 1113 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_MIDI, pDestLine); 1114 } 1115 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_MONO)) { 1116 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_MONO, pDestLine); 1117 } 1118 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_PHONE)) { 1119 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_PHONE, pDestLine); 1120 } 1121 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_SPDIF)) { 1122 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_SPDIF, pDestLine); 1123 } 1124 if(OSLibMixIsRecSourcePresent(MIX_CTRL_VOL_IN_W_VIDEO)) { 1125 mixerAddControl(pDestLine, MIX_CTRL_VOL_IN_W_VIDEO, pDestLine); 1126 } 1127 pWaveInMux->cMultipleItems = pDestLine->cConnections; 1090 pWaveInMux = mixerAddControl(MIX_CTRL_MUX_IN_W_SRC, &pDestLine->line); 1091 1092 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_MIC)) { 1093 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_MIC); 1094 mixerAddControl(MIX_CTRL_VOL_IN_W_MIC, pLine); 1095 } 1096 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_LINE)) { 1097 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_LINE); 1098 mixerAddControl(MIX_CTRL_VOL_IN_W_LINE, pLine); 1099 } 1100 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_CD)) { 1101 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_CD); 1102 mixerAddControl(MIX_CTRL_VOL_IN_W_CD, pLine); 1103 } 1104 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_AUX)) { 1105 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_AUX); 1106 mixerAddControl(MIX_CTRL_VOL_IN_W_AUX, pLine); 1107 } 1108 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_PCM)) { 1109 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_PCM); 1110 mixerAddControl(MIX_CTRL_VOL_IN_W_PCM, pLine); 1111 } 1112 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_WAVETABLE)) { 1113 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_WAVETABLE); 1114 mixerAddControl(MIX_CTRL_VOL_IN_W_WAVETABLE, pLine); 1115 } 1116 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_MIDI)) { 1117 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_MIDI); 1118 mixerAddControl(MIX_CTRL_VOL_IN_W_MIDI, pLine); 1119 } 1120 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_MONOIN)) { 1121 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_MONOIN); 1122 mixerAddControl(MIX_CTRL_VOL_IN_W_MONO, pLine); 1123 } 1124 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_PHONE)) { 1125 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_PHONE); 1126 mixerAddControl(MIX_CTRL_VOL_IN_W_PHONE, pLine); 1127 } 1128 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_SPDIF)) { 1129 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_SPDIF); 1130 mixerAddControl(MIX_CTRL_VOL_IN_W_SPDIF, pLine); 1131 } 1132 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_VIDEO)) { 1133 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_VIDEO); 1134 mixerAddControl(MIX_CTRL_VOL_IN_W_VIDEO, pLine); 1135 } 1136 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_STEREOMIX)) { 1137 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_STEREOMIX); 1138 mixerAddControl(MIX_CTRL_VOL_IN_W_STEREOMIX, pLine); 1139 } 1140 if(OSLibMixIsRecSourcePresent(MIXER_SRC_IN_W_MONOMIX)) { 1141 MIXERLINEA *pLine = mixerAddSource(pDestLine, MIXER_SRC_IN_W_MONOMIX); 1142 mixerAddControl(MIX_CTRL_VOL_IN_W_MONOMIX, pLine); 1143 } 1144 pWaveInMux->cMultipleItems = pDestLine->line.cConnections; 1145 pWaveInMux->Bounds.s.lMinimum = 0; 1146 pWaveInMux->Bounds.s.lMaximum = pDestLine->line.cConnections; 1147 pWaveInMux->Metrics.cSteps = pDestLine->line.cConnections; 1128 1148 } 1129 1149 … … 1131 1151 if(OSLibMixIsControlPresent(MIX_CTRL_VOL_OUT_SPDIF)) { 1132 1152 pDestLine = mixerAddDestination(MIXER_DEST_SPDIFOUT); 1133 mixerAddControl( pDestLine, MIX_CTRL_VOL_OUT_SPDIF, pDestLine);1134 mixerAddControl( pDestLine, MIX_CTRL_MUTE_OUT_SPDIF, pDestLine);1153 mixerAddControl(MIX_CTRL_VOL_OUT_SPDIF, &pDestLine->line); 1154 mixerAddControl(MIX_CTRL_MUTE_OUT_SPDIF, &pDestLine->line); 1135 1155 } 1136 1156 … … 1145 1165 /******************************************************************************/ 1146 1166 /******************************************************************************/ 1147 static MIXERLINEA *mixerAddSource(MIXER LINEA*pDestLine, DWORD dwSource)1167 static MIXERLINEA *mixerAddSource(MIXERDEST *pDestLine, DWORD dwSource) 1148 1168 { 1149 1169 MIXERLINEA *pline = &mixerSource[nrSources]; … … 1168 1188 1169 1189 switch(dwSource) { 1170 case MIXER_SRC_MONOIN: 1171 case MIXER_SRC_PHONE: 1190 case MIXER_SRC_IN_L_MONOIN: 1191 case MIXER_SRC_IN_W_MONOIN: 1192 case MIXER_SRC_IN_L_PHONE: 1193 case MIXER_SRC_IN_W_PHONE: 1172 1194 pline->cChannels = 1; 1173 1195 pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE; … … 1175 1197 break; 1176 1198 1177 case MIXER_SRC_MIC: 1199 case MIXER_SRC_IN_L_MIC: 1200 case MIXER_SRC_IN_W_MIC: 1178 1201 pline->cChannels = 1; 1179 1202 pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE; … … 1181 1204 break; 1182 1205 1183 case MIXER_SRC_LINE: 1206 case MIXER_SRC_IN_L_LINE: 1207 case MIXER_SRC_IN_W_LINE: 1184 1208 pline->cChannels = 2; 1185 1209 pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_LINE; … … 1187 1211 break; 1188 1212 1189 case MIXER_SRC_CD: 1213 case MIXER_SRC_IN_L_CD: 1214 case MIXER_SRC_IN_W_CD: 1190 1215 pline->cChannels = 2; 1191 1216 pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC; … … 1193 1218 break; 1194 1219 1195 case MIXER_SRC_SPDIF: 1220 case MIXER_SRC_IN_L_SPDIF: 1221 case MIXER_SRC_IN_W_SPDIF: 1196 1222 pline->cChannels = 2; 1197 1223 pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_DIGITAL; … … 1199 1225 break; 1200 1226 1201 case MIXER_SRC_VIDEO: 1227 case MIXER_SRC_IN_L_VIDEO: 1228 case MIXER_SRC_IN_W_VIDEO: 1202 1229 pline->cChannels = 2; 1203 1230 pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED; … … 1205 1232 break; 1206 1233 1207 case MIXER_SRC_AUX: 1234 case MIXER_SRC_IN_L_AUX: 1235 case MIXER_SRC_IN_W_AUX: 1208 1236 pline->cChannels = 2; 1209 1237 pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY; … … 1211 1239 break; 1212 1240 1213 case MIXER_SRC_PCM: 1241 case MIXER_SRC_IN_L_PCM: 1242 case MIXER_SRC_IN_W_PCM: 1214 1243 pline->cChannels = 2; 1215 1244 pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT; … … 1217 1246 break; 1218 1247 1219 case MIXER_SRC_WAVETABLE: 1220 case MIXER_SRC_MIDI: 1248 case MIXER_SRC_IN_L_WAVETABLE: 1249 case MIXER_SRC_IN_W_WAVETABLE: 1250 case MIXER_SRC_IN_L_MIDI: 1251 case MIXER_SRC_IN_W_MIDI: 1221 1252 pline->cChannels = 2; 1222 1253 pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER; … … 1235 1266 nrSources++; 1236 1267 1237 mixerDestInputs[MIXER_DEST_LINEOUT][nrLineOutInputs] = pline->dwSource;1238 nrLineOutInputs++;1239 1240 1268 pline->dwLineID = nrLines; 1241 1269 pmixerLines[nrLines] = pline; … … 1243 1271 1244 1272 //increase nr of inputs at destination line 1245 pDestLine->cConnections++; 1273 pDestLine->line.cConnections++; 1274 pDestLine->Sources[pDestLine->cSources] = pline->dwSource; 1275 pDestLine->cSources++; 1246 1276 1247 1277 //store line id in source to line mapping array … … 1252 1282 /******************************************************************************/ 1253 1283 /******************************************************************************/ 1254 static MIXERLINEA *mixerAddDestination(DWORD dwDest) 1255 { 1256 MIXERLINEA *pline = &mixerDest[nrDestinations]; 1284 static MIXERDEST *mixerAddDestination(DWORD dwDest) 1285 { 1286 MIXERDEST *pDest = &mixerDest[nrDestinations]; 1287 MIXERLINEA *pline = &pDest->line; 1257 1288 1258 1289 if(nrDestinations >= MAX_MIXER_DESTINATIONS) { … … 1308 1339 pmixerLines[nrLines] = pline; 1309 1340 nrLines++; 1310 return pline; 1311 } 1312 /******************************************************************************/ 1313 /******************************************************************************/ 1314 static int mixerWaveInVolToSource(DWORD dwControl) 1315 { 1316 switch(dwControl) { 1317 case MIX_CTRL_VOL_IN_W_MONO: 1318 return MIXER_SRC_MONOIN; 1319 case MIX_CTRL_VOL_IN_W_PHONE: 1320 return MIXER_SRC_PHONE; 1321 case MIX_CTRL_VOL_IN_W_MIC: 1322 return MIXER_SRC_MIC; 1323 case MIX_CTRL_VOL_IN_W_LINE: 1324 return MIXER_SRC_LINE; 1325 case MIX_CTRL_VOL_IN_W_CD: 1326 return MIXER_SRC_CD; 1327 case MIX_CTRL_VOL_IN_W_SPDIF: 1328 return MIXER_SRC_SPDIF; 1329 case MIX_CTRL_VOL_IN_W_VIDEO: 1330 return MIXER_SRC_VIDEO; 1331 case MIX_CTRL_VOL_IN_W_AUX: 1332 return MIXER_SRC_AUX; 1333 case MIX_CTRL_VOL_IN_W_PCM: 1334 return MIXER_SRC_PCM; 1335 case MIX_CTRL_VOL_IN_W_WAVETABLE: 1336 return MIXER_SRC_WAVETABLE; 1337 case MIX_CTRL_VOL_IN_W_MIDI: 1338 return MIXER_SRC_MIDI; 1339 default: 1340 DebugInt3(); 1341 return 0; 1342 } 1343 } 1344 /******************************************************************************/ 1345 /******************************************************************************/ 1346 static MIXERCONTROLA * mixerAddControl(MIXERLINEA *pDestLine, DWORD dwControl, MIXERLINEA *pSrcLine) 1341 return pDest; 1342 } 1343 /******************************************************************************/ 1344 /******************************************************************************/ 1345 static MIXERCONTROLA * mixerAddControl(DWORD dwControl, MIXERLINEA *pSrcLine) 1347 1346 { 1348 1347 MIXERCONTROLA *pctrl = &mixerControls[nrControls]; … … 1396 1395 case MIX_CTRL_VOL_IN_W_WAVETABLE: 1397 1396 case MIX_CTRL_VOL_IN_W_MIDI: 1397 case MIX_CTRL_VOL_IN_W_STEREOMIX: 1398 case MIX_CTRL_VOL_IN_W_MONOMIX: 1398 1399 pctrl->dwControlType = MIXERCONTROL_CONTROLTYPE_VOLUME; 1399 1400 OSLibMixGetCtrlCaps(dwControl, &pctrl->Bounds.s.lMinimum, &pctrl->Bounds.s.lMaximum, &pctrl->Metrics.cSteps); 1400 mixerDestInputs[MIXER_DEST_WAVEIN][nrWaveInInputs] = mixerSourceLineId[mixerWaveInVolToSource(dwControl)];1401 nrWaveInInputs++;1402 1401 break; 1403 1402 -
trunk/src/winmm/mixer.h
r8492 r8493 1 /* $Id: mixer.h,v 1. 3 2002-05-25 17:19:41 sandervl Exp $ */1 /* $Id: mixer.h,v 1.4 2002-05-26 10:52:31 sandervl Exp $ */ 2 2 3 3 /* … … 28 28 29 29 30 #ifdef __WINE_MMSYSTEM_H 31 typedef struct { 32 MIXERLINEA line; 33 //number of connected source lines 34 int cSources; 35 int Sources[MAX_MIXER_SOURCES]; 36 } MIXERDEST; 37 #endif 38 30 39 #ifdef __cplusplus 31 40 extern "C" { -
trunk/src/winmm/mixerdata.cpp
r8492 r8493 1 /* $Id: mixerdata.cpp,v 1. 3 2002-05-25 17:19:41 sandervl Exp $ */1 /* $Id: mixerdata.cpp,v 1.4 2002-05-26 10:52:31 sandervl Exp $ */ 2 2 3 3 /* … … 190 190 "Volume Control for MIDI Recording" 191 191 }, 192 { 193 "StereoMixVol", 194 "Volume Control for Stereo Mixer Recording", 195 }, 196 { 197 "MonoMixVol", 198 "Volume Control for Mono Mixer Recording", 199 }, 192 200 }; 193 201 /******************************************************************************/ … … 253 261 "MIDI", 254 262 "MIDI Synthesizer", 263 }, 264 { 265 "MonoIn", 266 "Mono In", 267 }, 268 { 269 "Phone", 270 "Telephone", 271 }, 272 { 273 "Mic", 274 "Microphone", 275 }, 276 { 277 "Line", 278 "Line", 279 }, 280 { 281 "CD", 282 "CD-ROM", 283 }, 284 { 285 "SPDIF", 286 "SPDIF", 287 }, 288 { 289 "Video", 290 "Video", 291 }, 292 { 293 "Aux", 294 "Auxiliary", 295 }, 296 { 297 "Wave", 298 "Wave Out", 299 }, 300 { 301 "Wavetable", 302 "Wavetable Synthesizer", 303 }, 304 { 305 "MIDI", 306 "MIDI Synthesizer", 307 }, 308 { 309 "StereoMix", 310 "Stereo Mixer", 311 }, 312 { 313 "MonoMix", 314 "Mono Mixer", 255 315 } 256 316 }; -
trunk/src/winmm/mixeros2.cpp
r8492 r8493 1 /* $Id: mixeros2.cpp,v 1. 4 2002-05-25 17:19:41 sandervl Exp $ */1 /* $Id: mixeros2.cpp,v 1.5 2002-05-26 10:52:31 sandervl Exp $ */ 2 2 3 3 /* … … 292 292 293 293 switch(dwRecSrc) { 294 case MIX _CTRL_VOL_IN_W_MIC:294 case MIXER_SRC_IN_W_MIC: 295 295 idx = I90SRC_MIC; 296 296 break; 297 case MIX _CTRL_VOL_IN_W_CD:297 case MIXER_SRC_IN_W_CD: 298 298 idx = I90SRC_CD; 299 299 break; 300 case MIX _CTRL_VOL_IN_W_VIDEO:300 case MIXER_SRC_IN_W_VIDEO: 301 301 idx = I90SRC_VIDEO; 302 302 break; 303 case MIX _CTRL_VOL_IN_W_AUX:303 case MIXER_SRC_IN_W_AUX: 304 304 idx = I90SRC_AUX; 305 305 break; 306 case MIX _CTRL_VOL_IN_W_LINE:306 case MIXER_SRC_IN_W_LINE: 307 307 idx = I90SRC_LINE; 308 308 break; 309 case MIX _CTRL_VOL_IN_W_PHONE:309 case MIXER_SRC_IN_W_PHONE: 310 310 idx = I90SRC_PHONE; 311 311 break; … … 343 343 switch(mixstruct.VolumeL) { 344 344 case I90SRC_MIC: 345 idx = MIX _CTRL_VOL_IN_W_MIC;345 idx = MIXER_SRC_IN_W_MIC; 346 346 break; 347 347 case I90SRC_CD: 348 idx = MIX _CTRL_VOL_IN_W_CD;348 idx = MIXER_SRC_IN_W_CD; 349 349 break; 350 350 case I90SRC_VIDEO: 351 idx = MIX _CTRL_VOL_IN_W_VIDEO;351 idx = MIXER_SRC_IN_W_VIDEO; 352 352 break; 353 353 case I90SRC_AUX: 354 idx = MIX _CTRL_VOL_IN_W_AUX;354 idx = MIXER_SRC_IN_W_AUX; 355 355 break; 356 356 case I90SRC_LINE: 357 idx = MIX _CTRL_VOL_IN_W_LINE;357 idx = MIXER_SRC_IN_W_LINE; 358 358 break; 359 359 case I90SRC_PHONE: 360 idx = MIX _CTRL_VOL_IN_W_PHONE;360 idx = MIXER_SRC_IN_W_PHONE; 361 361 break; 362 362 default: -
trunk/src/winmm/mixeros2.h
r8492 r8493 1 /* $Id: mixeros2.h,v 1. 5 2002-05-25 17:19:41 sandervl Exp $ */1 /* $Id: mixeros2.h,v 1.6 2002-05-26 10:52:31 sandervl Exp $ */ 2 2 3 3 /* … … 22 22 #define IOCTL90_TO_WIN32_VOLUME(a) ((a*(MIXER_WIN32_MAX_VOLUME-MIXER_WIN32_MIN_VOLUME))/MIXER_IOCTL90_MAX_VOLUME) 23 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_MAX 43 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 68 70 69 #define MIXER_SRC_MONOIN 0 70 #define MIXER_SRC_PHONE 1 71 #define MIXER_SRC_MIC 2 72 #define MIXER_SRC_LINE 3 73 #define MIXER_SRC_CD 4 74 #define MIXER_SRC_SPDIF 5 75 #define MIXER_SRC_VIDEO 6 76 #define MIXER_SRC_AUX 7 77 #define MIXER_SRC_PCM 8 78 #define MIXER_SRC_WAVETABLE 9 79 #define MIXER_SRC_MIDI 10 80 #define MIXER_SRC_MAX 11 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 81 96 82 97 //max controls connected to a source line 83 #define MAX_SOURCE_CONTROLS 898 #define MAX_SOURCE_CONTROLS 8 84 99 85 #define MIXER_DEST_LINEOUT 086 #define MIXER_DEST_WAVEIN 187 #define MIXER_DEST_SPDIFOUT 288 #define MIXER_DEST_MAX 3100 #define MIXER_DEST_LINEOUT 0 101 #define MIXER_DEST_WAVEIN 1 102 #define MIXER_DEST_SPDIFOUT 2 103 #define MIXER_DEST_MAX 3 89 104 90 #define MAX_MIXER_LINES (MIXER_SRC_MAX+MIXER_DEST_MAX)105 #define MAX_MIXER_LINES (MIXER_SRC_MAX+MIXER_DEST_MAX) 91 106 92 107 #ifdef __cplusplus
Note:
See TracChangeset
for help on using the changeset viewer.