Changeset 8493 for trunk/src


Ignore:
Timestamp:
May 26, 2002, 12:52:31 PM (23 years ago)
Author:
sandervl
Message:

mixer updates

Location:
trunk/src/winmm
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/winmm/mixer.cpp

    r8492 r8493  
    1 /* $Id: mixer.cpp,v 1.17 2002-05-25 17:19:40 sandervl Exp $ */
     1/* $Id: mixer.cpp,v 1.18 2002-05-26 10:52:30 sandervl Exp $ */
    22
    33/*
     
    4141#include "dbglocal.h"
    4242
    43 static MIXERCONTROLA *mixerAddControl(MIXERLINEA *pDestLine, DWORD dwControl, MIXERLINEA *pSrcLine);
    44 static MIXERLINEA    *mixerAddSource(MIXERLINEA *pDestLine, DWORD dwSource);
    45 static MIXERLINEA    *mixerAddDestination(DWORD dwDest);
     43static MIXERCONTROLA *mixerAddControl(DWORD dwControl, MIXERLINEA *pSrcLine);
     44static MIXERLINEA    *mixerAddSource(MIXERDEST *pDestLine, DWORD dwSource);
     45static MIXERDEST     *mixerAddDestination(DWORD dwDest);
    4646
    4747//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};
     48static MIXERDEST     mixerDest[MAX_MIXER_DESTINATIONS];
    5149//array of source mixer lines
    5250static MIXERLINEA    mixerSource[MAX_MIXER_SOURCES]                             = {0};
     
    6664static int           nrControls        = 0;
    6765static int           nrLines           = 0;
    68 static int           nrLineOutInputs   = 0;
    69 static int           nrWaveInInputs    = 0;
    7066
    7167/******************************************************************************/
     
    128124            }
    129125            //todo > 2 channels
    130             break;
     126            return MMSYSERR_NOERROR;
    131127        }
    132128        case MIXERCONTROL_CONTROLTYPE_BASS:
     
    154150            }
    155151            //todo > 2 channels
    156             break;
     152            return MMSYSERR_NOERROR;
    157153        }
    158154        case MIXERCONTROL_CONTROLTYPE_CUSTOM:
     
    229225            return MIXERR_INVALCONTROL;
    230226        }
    231         break;
     227        return MIXERR_INVALCONTROL;
     228
    232229    case MIXER_GETCONTROLDETAILSF_LISTTEXT:
    233230        dprintf(("MIXER_GETCONTROLDETAILSF_LISTTEXT %d", lpmcd->dwControlID));
     
    616613            return MMSYSERR_INVALPARAM;
    617614        }
    618         memcpy(lpMl, &mixerDest[lpMl->dwDestination], sizeof(MIXERLINEA));
     615        memcpy(lpMl, &mixerDest[lpMl->dwDestination].line, sizeof(MIXERLINEA));
    619616        dprintf(("found line %s (%s) id %d connections %d controls %d", lpMl->szName, lpMl->szShortName, lpMl->dwLineID, lpMl->cConnections, lpMl->cControls));
    620617        break;
     
    637634        }
    638635        if(lpMl->dwSource >= MIXER_SRC_MAX) {
    639             dprintf(("ERROR: Invalid destination %d", lpMl->dwDestination));
     636            dprintf(("ERROR: Invalid source %d", lpMl->dwSource));
    640637            return MIXERR_INVALLINE;
    641638        }
    642         if(mixerDestInputs[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));
    644641            return MIXERR_INVALLINE;
    645642        }
    646         memcpy(lpMl, &mixerSource[mixerDestInputs[lpMl->dwDestination][lpMl->dwSource]], sizeof(MIXERLINEA));
     643        memcpy(lpMl, &mixerSource[mixerDest[lpMl->dwDestination].Sources[lpMl->dwSource]], sizeof(MIXERLINEA));
    647644        dprintf(("found line %s (%s) id %d connections %d controls %d", lpMl->szName, lpMl->szShortName, lpMl->dwLineID, lpMl->cConnections, lpMl->cControls));
    648645        break;
     
    865862    //According to MSDN, nothing is copied when cbmxcaps is zero
    866863    if(cbmxcaps >= sizeof(MIXERCAPSA)) {
    867         // we have to fill in this thing
    868864        pmxcaps->wMid = WINMM_MIXER_CAPS_WMID;                  /* manufacturer ID */
    869865        pmxcaps->wPid = WINMM_MIXER_CAPS_WPID;                  /* product ID */
     
    892888    //According to MSDN, nothing is copied when cbmxcaps is zero
    893889    if(cbmxcaps >= sizeof(MIXERCAPSW)) {
    894         // we have to fill in this thing
    895890        pmxcaps->wMid = WINMM_MIXER_CAPS_WMID;                  /* manufacturer ID */
    896891        pmxcaps->wPid = WINMM_MIXER_CAPS_WPID;                  /* product ID */
     
    986981BOOL mixerInit()
    987982{
    988     MIXERLINEA *pDestLine;
     983    MIXERDEST *pDestLine;
    989984    MIXERCONTROLA *pWaveInMux;
    990985
     
    993988    memset(mixerSourceLineId, -1, sizeof(mixerSourceLineId));
    994989    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    }
    996994
    997995    if(OSLibMixerOpen() == FALSE) {
    998996        //Line out destination
    999997        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);
    10021000
    10031001        //WaveIn destination
    10041002        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;
    10091007        return TRUE;
    10101008    }
     
    10131011    pDestLine = mixerAddDestination(MIXER_DEST_LINEOUT);
    10141012
    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);
    10171015    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);
    10191017    }
    10201018    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);
    10221020    }
    10231021    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);
    10251023    }
    10261024    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);
    10281026    }
    10291027
    10301028    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);
    10341032    }
    10351033    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);
    10391037    }
    10401038    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);
    10441042    }
    10451043    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);
    10491047        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);
    10511049        }
    10521050    }
    10531051    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);
    10571055    }
    10581056    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);
    10621060    }
    10631061    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);
    10671065    }
    10681066    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);
    10721070    }
    10731071    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);
    10771075    }
    10781076    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);
    10821080    }
    10831081    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);
    10871085    }
    10881086
     
    10901088    if(OSLibMixIsControlPresent(MIX_CTRL_MUX_IN_W_SRC)) {
    10911089        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;
    11281148    }
    11291149
     
    11311151    if(OSLibMixIsControlPresent(MIX_CTRL_VOL_OUT_SPDIF)) {
    11321152        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);
    11351155    }
    11361156
     
    11451165/******************************************************************************/
    11461166/******************************************************************************/
    1147 static MIXERLINEA *mixerAddSource(MIXERLINEA *pDestLine, DWORD dwSource)
     1167static MIXERLINEA *mixerAddSource(MIXERDEST *pDestLine, DWORD dwSource)
    11481168{
    11491169    MIXERLINEA *pline = &mixerSource[nrSources];
     
    11681188
    11691189    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:
    11721194        pline->cChannels       = 1;
    11731195        pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE;
     
    11751197        break;
    11761198
    1177     case MIXER_SRC_MIC:
     1199    case MIXER_SRC_IN_L_MIC:
     1200    case MIXER_SRC_IN_W_MIC:
    11781201        pline->cChannels       = 1;
    11791202        pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE;
     
    11811204        break;
    11821205
    1183     case MIXER_SRC_LINE:
     1206    case MIXER_SRC_IN_L_LINE:
     1207    case MIXER_SRC_IN_W_LINE:
    11841208        pline->cChannels       = 2;
    11851209        pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_LINE;
     
    11871211        break;
    11881212
    1189     case MIXER_SRC_CD:
     1213    case MIXER_SRC_IN_L_CD:
     1214    case MIXER_SRC_IN_W_CD:
    11901215        pline->cChannels       = 2;
    11911216        pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC;
     
    11931218        break;
    11941219
    1195     case MIXER_SRC_SPDIF:
     1220    case MIXER_SRC_IN_L_SPDIF:
     1221    case MIXER_SRC_IN_W_SPDIF:
    11961222        pline->cChannels       = 2;
    11971223        pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_DIGITAL;
     
    11991225        break;
    12001226
    1201     case MIXER_SRC_VIDEO:
     1227    case MIXER_SRC_IN_L_VIDEO:
     1228    case MIXER_SRC_IN_W_VIDEO:
    12021229        pline->cChannels       = 2;
    12031230        pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED;
     
    12051232        break;
    12061233
    1207     case MIXER_SRC_AUX:
     1234    case MIXER_SRC_IN_L_AUX:
     1235    case MIXER_SRC_IN_W_AUX:
    12081236        pline->cChannels       = 2;
    12091237        pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY;
     
    12111239        break;
    12121240
    1213     case MIXER_SRC_PCM:
     1241    case MIXER_SRC_IN_L_PCM:
     1242    case MIXER_SRC_IN_W_PCM:
    12141243        pline->cChannels       = 2;
    12151244        pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT;
     
    12171246        break;
    12181247
    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:
    12211252        pline->cChannels       = 2;
    12221253        pline->dwComponentType = MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER;
     
    12351266    nrSources++;
    12361267
    1237     mixerDestInputs[MIXER_DEST_LINEOUT][nrLineOutInputs] = pline->dwSource;
    1238     nrLineOutInputs++;
    1239 
    12401268    pline->dwLineID      = nrLines;
    12411269    pmixerLines[nrLines] = pline;
     
    12431271
    12441272    //increase nr of inputs at destination line
    1245     pDestLine->cConnections++;
     1273    pDestLine->line.cConnections++;
     1274    pDestLine->Sources[pDestLine->cSources] = pline->dwSource;
     1275    pDestLine->cSources++;
    12461276
    12471277    //store line id in source to line mapping array
     
    12521282/******************************************************************************/
    12531283/******************************************************************************/
    1254 static MIXERLINEA *mixerAddDestination(DWORD dwDest)
    1255 {
    1256     MIXERLINEA *pline  = &mixerDest[nrDestinations];
     1284static MIXERDEST *mixerAddDestination(DWORD dwDest)
     1285{
     1286    MIXERDEST  *pDest  = &mixerDest[nrDestinations];
     1287    MIXERLINEA *pline  = &pDest->line;
    12571288
    12581289    if(nrDestinations >= MAX_MIXER_DESTINATIONS) {
     
    13081339    pmixerLines[nrLines] = pline;
    13091340    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/******************************************************************************/
     1345static MIXERCONTROLA * mixerAddControl(DWORD dwControl, MIXERLINEA *pSrcLine)
    13471346{
    13481347    MIXERCONTROLA *pctrl  = &mixerControls[nrControls];
     
    13961395    case MIX_CTRL_VOL_IN_W_WAVETABLE:
    13971396    case MIX_CTRL_VOL_IN_W_MIDI:
     1397    case MIX_CTRL_VOL_IN_W_STEREOMIX:
     1398    case MIX_CTRL_VOL_IN_W_MONOMIX:
    13981399        pctrl->dwControlType    = MIXERCONTROL_CONTROLTYPE_VOLUME;
    13991400        OSLibMixGetCtrlCaps(dwControl, &pctrl->Bounds.s.lMinimum, &pctrl->Bounds.s.lMaximum, &pctrl->Metrics.cSteps);
    1400         mixerDestInputs[MIXER_DEST_WAVEIN][nrWaveInInputs] = mixerSourceLineId[mixerWaveInVolToSource(dwControl)];
    1401         nrWaveInInputs++;
    14021401        break;
    14031402
  • 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 $ */
    22
    33/*
     
    2828
    2929
     30#ifdef __WINE_MMSYSTEM_H
     31typedef struct {
     32  MIXERLINEA line;
     33  //number of connected source lines
     34  int        cSources;
     35  int        Sources[MAX_MIXER_SOURCES];
     36} MIXERDEST;
     37#endif
     38
    3039#ifdef __cplusplus
    3140extern "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 $ */
    22
    33/*
     
    190190        "Volume Control for MIDI Recording"
    191191    },
     192    {
     193        "StereoMixVol",
     194        "Volume Control for Stereo Mixer Recording",
     195    },
     196    {
     197        "MonoMixVol",
     198        "Volume Control for Mono Mixer Recording",
     199    },
    192200};
    193201/******************************************************************************/
     
    253261      "MIDI",
    254262      "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",
    255315  }
    256316};
  • 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 $ */
    22
    33/*
     
    292292
    293293    switch(dwRecSrc) {
    294     case MIX_CTRL_VOL_IN_W_MIC:
     294    case MIXER_SRC_IN_W_MIC:
    295295        idx = I90SRC_MIC;
    296296        break;
    297     case MIX_CTRL_VOL_IN_W_CD:
     297    case MIXER_SRC_IN_W_CD:
    298298        idx = I90SRC_CD;
    299299        break;
    300     case MIX_CTRL_VOL_IN_W_VIDEO:
     300    case MIXER_SRC_IN_W_VIDEO:
    301301        idx = I90SRC_VIDEO;
    302302        break;
    303     case MIX_CTRL_VOL_IN_W_AUX:
     303    case MIXER_SRC_IN_W_AUX:
    304304        idx = I90SRC_AUX;
    305305        break;
    306     case MIX_CTRL_VOL_IN_W_LINE:
     306    case MIXER_SRC_IN_W_LINE:
    307307        idx = I90SRC_LINE;
    308308        break;
    309     case MIX_CTRL_VOL_IN_W_PHONE:
     309    case MIXER_SRC_IN_W_PHONE:
    310310        idx = I90SRC_PHONE;
    311311        break;
     
    343343    switch(mixstruct.VolumeL) {
    344344    case I90SRC_MIC:
    345         idx = MIX_CTRL_VOL_IN_W_MIC;
     345        idx = MIXER_SRC_IN_W_MIC;
    346346        break;
    347347    case I90SRC_CD:
    348         idx = MIX_CTRL_VOL_IN_W_CD;
     348        idx = MIXER_SRC_IN_W_CD;
    349349        break;
    350350    case I90SRC_VIDEO:
    351         idx = MIX_CTRL_VOL_IN_W_VIDEO;
     351        idx = MIXER_SRC_IN_W_VIDEO;
    352352        break;
    353353    case I90SRC_AUX:
    354         idx = MIX_CTRL_VOL_IN_W_AUX;
     354        idx = MIXER_SRC_IN_W_AUX;
    355355        break;
    356356    case I90SRC_LINE:
    357         idx = MIX_CTRL_VOL_IN_W_LINE;
     357        idx = MIXER_SRC_IN_W_LINE;
    358358        break;
    359359    case I90SRC_PHONE:
    360         idx = MIX_CTRL_VOL_IN_W_PHONE;
     360        idx = MIXER_SRC_IN_W_PHONE;
    361361        break;
    362362    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 $ */
    22
    33/*
     
    2222#define IOCTL90_TO_WIN32_VOLUME(a)      ((a*(MIXER_WIN32_MAX_VOLUME-MIXER_WIN32_MIN_VOLUME))/MIXER_IOCTL90_MAX_VOLUME)
    2323
    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
    6870
    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
    8196
    8297//max controls connected to a source line
    83 #define MAX_SOURCE_CONTROLS     8
     98#define MAX_SOURCE_CONTROLS             8
    8499
    85 #define MIXER_DEST_LINEOUT      0
    86 #define MIXER_DEST_WAVEIN       1
    87 #define MIXER_DEST_SPDIFOUT     2
    88 #define MIXER_DEST_MAX          3
     100#define MIXER_DEST_LINEOUT              0
     101#define MIXER_DEST_WAVEIN               1
     102#define MIXER_DEST_SPDIFOUT             2
     103#define MIXER_DEST_MAX                  3
    89104
    90 #define MAX_MIXER_LINES         (MIXER_SRC_MAX+MIXER_DEST_MAX)
     105#define MAX_MIXER_LINES                 (MIXER_SRC_MAX+MIXER_DEST_MAX)
    91106
    92107#ifdef __cplusplus
Note: See TracChangeset for help on using the changeset viewer.