Ticket #196: multimix.patch

File multimix.patch, 2.4 kB (added by adi, 12 years ago)

Patch which adds Alesis Multimix16 support

  • src/dice/dice_avdevice.cpp

    old new  
    5555    {FW_VENDORID_TCAT,   0x00000021, "TC Electronic", "Konnekt 8"}, 
    5656    {FW_VENDORID_TCAT,   0x00000023, "TC Electronic", "Konnekt Live"}, 
    5757    {FW_VENDORID_ALESIS, 0x00000001, "Alesis", "io|14"}, 
     58    {FW_VENDORID_ALESIS, 0x00000000, "Alesis", "Multimix16 Firewire"}, 
    5859    {FW_VENDORID_PRESONUS, 0x0000000b, "Presonus", "Firestudio Project"}, 
    5960    {FW_VENDORID_FOCUSRITE, 0x00000005, "Focusrite", "Saffire PRO 40"}, 
    6061    {FW_VENDORID_WEISS, 0x00000001, "Weiss Engineering Ltd.", "ADC 2"}, 
     
    791792        } 
    792793 
    793794        /* Vendor-specific hacks */ 
     795        if (FW_VENDORID_ALESIS == getConfigRom().getNodeVendorId()) { 
     796            /* Alesis io14 RX0 claims to have six audio channels. Ignore 
     797             * it, just use 8 for Bus1-L+R .. Bus4-L+R. 
     798             */ 
     799            if (0x00000001 == getConfigRom().getModelId()) { 
     800                nb_audio = 8; 
     801            } 
    794802 
    795         /* Alesis io14 RX0 claims to have six audio channels. Ignore it, just  
    796          * use 8 for Bus1-L+R .. Bus4-L+R. 
    797          */ 
    798         if ((FW_VENDORID_ALESIS == getConfigRom().getNodeVendorId()) && 
    799             (0x00000001 == getConfigRom().getModelId())) { 
    800             nb_audio=8; 
     803            /* Alesis Multimix16 RX0 only has two channels, Main-Out L+R */ 
     804            if (0x00000000 == getConfigRom().getModelId()) { 
     805                nb_audio = 2; 
     806            } 
    801807        } 
    802808 
    803809        // request the channel names 
     
    14671473    } 
    14681474 
    14691475    // FIXME: verify this and clean it up. 
    1470     /* special case for io14, which announces two receive transmitters, 
    1471      * but only has one 
     1476    /* special case for Alesis io14, which announces two receive transmitters, 
     1477     * but only has one. Same is true for Alesis Multimix16. 
    14721478     */ 
    1473     if ((FW_VENDORID_ALESIS == getConfigRom().getNodeVendorId()) && 
    1474             (0x00000001 == getConfigRom().getModelId())) { 
    1475         m_nb_rx = 1; 
     1479    if (FW_VENDORID_ALESIS == getConfigRom().getNodeVendorId()) { 
     1480        /* we may want to use a switch-case-statement some day... */ 
     1481        if ((0x00000001 == getConfigRom().getModelId()) || 
     1482            (0x00000000 == getConfigRom().getModelId())) { 
     1483            m_nb_rx = 1; 
     1484        } 
    14761485    } 
    14771486 
    14781487    if(!readReg(m_tx_reg_offset + DICE_REGISTER_RX_SZ_RX, &m_rx_size)) {