| 54 | } |
| 55 | |
| 56 | inline sample_t nextSample() |
| 57 | { |
| 58 | sample_t ym0; |
| 59 | sample_t ypM; |
| 60 | for( int i = 0; i < m_oversample; i++) |
| 61 | { |
| 62 | // Output at pickup position |
| 63 | m_outsamp[i] = fromBridgeAccess( m_fromBridge, |
| 64 | m_pickupLoc ); |
| 65 | m_outsamp[i] += toBridgeAccess( m_toBridge, |
| 66 | m_pickupLoc ); |
| 67 | |
| 68 | // Sample traveling into "bridge" |
| 69 | ym0 = toBridgeAccess( m_toBridge, 1 ); |
| 70 | // Sample to "nut" |
| 71 | ypM = fromBridgeAccess( m_fromBridge, |
| 72 | m_fromBridge->length - 2 ); |
| 73 | |
| 74 | // String state update |
| 75 | |
| 76 | // Decrement pointer and then update |
| 77 | fromBridgeUpdate( m_fromBridge, |
| 78 | -bridgeReflection( ym0 ) ); |
| 79 | // Update and then increment pointer |
| 80 | toBridgeUpdate( m_toBridge, -ypM ); |
| 81 | } |
| 82 | return( m_outsamp[m_choice] ); |
| 83 | } |
| 84 | |
| 85 | private: |
| 86 | struct delayLine |
no outgoing calls
no test coverage detected