Changeset 1285

Show
Ignore:
Timestamp:
07/10/08 05:22:24 (16 years ago)
Author:
ppalmers
Message:

fix comparison bug, work around input pad init issue

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/libffado-2.0/src/fireworks/fireworks_control.cpp

    r1284 r1285  
    301301        switch(m_Slave->getTarget()) { 
    302302        case eMT_PlaybackMix: 
    303             switch(m_Slave->getType()) { 
     303            switch(m_Slave->getCommand()) { 
    304304            case eMC_Gain: 
    305305                m_ParentDevice.m_session.h.playbackgains[m_Slave->m_channel] = m_Slave->m_value; 
     
    310310            break; 
    311311        case eMT_PhysicalOutputMix: 
    312             switch(m_Slave->getType()) { 
     312            switch(m_Slave->getCommand()) { 
    313313            case eMC_Gain: 
    314314                m_ParentDevice.m_session.h.outputgains[m_Slave->m_channel] = m_Slave->m_value; 
     
    412412        switch(m_Slave->getTarget()) { 
    413413        case eMT_PlaybackMix: 
    414             switch(m_Slave->getType()) { 
     414            switch(m_Slave->getCommand()) { 
    415415            case eMC_Mute: 
    416416                m_ParentDevice.m_session.s.playbacks[m_Slave->m_channel].mute = m_Slave->m_value; 
     
    424424            break; 
    425425        case eMT_PhysicalOutputMix: 
    426             switch(m_Slave->getType()) { 
     426            switch(m_Slave->getCommand()) { 
    427427            case eMC_Mute: 
    428428                m_ParentDevice.m_session.s.outputs[m_Slave->m_channel].mute = m_Slave->m_value; 
     
    436436            break; 
    437437        case eMT_PhysicalInputMix: 
    438             switch(m_Slave->getType()) { 
     438            switch(m_Slave->getCommand()) { 
    439439            //case eMC_Pad: 
    440440            //    m_ParentDevice.m_session.s.inputs[m_Slave->m_channel].pad = m_Slave->m_value; 
     
    463463{ 
    464464    if(m_Slave) { 
     465        // workaround for the failing get nominal command for input channels 
     466        // get it from the session block 
     467        if ((m_Slave->getTarget() == eMT_PhysicalInputMix) 
     468            && (m_Slave->getCommand() == eMC_Nominal)) { 
     469            int val = m_ParentDevice.m_session.s.inputs[m_Slave->m_channel].shift; 
     470            debugOutput(DEBUG_LEVEL_VERBOSE, "input pad workaround: %08X\n", val); 
     471            return val; 
     472        } 
    465473        m_Slave->setType(eCT_Get); 
    466474        if (!m_ParentDevice.doEfcOverAVC(*m_Slave))