Browse Source

Fix for pulse

tags/1.9.4
falkTX 12 years ago
parent
commit
dc3b3032dc
1 changed files with 20 additions and 14 deletions
  1. +20
    -14
      source/backend/engine/CarlaEngineRtAudio.cpp

+ 20
- 14
source/backend/engine/CarlaEngineRtAudio.cpp View File

@@ -700,21 +700,24 @@ protected:
return runPendingRtEvents();

// initialize rtaudio input
if (fIsAudioInterleaved)
if (! fIsAudioInterleaved)
{
for (uint i=0, j=0, count=nframes*fAudioInCount; i < count; ++i)
for (uint i=0; i < fAudioInCount; ++i)
FLOAT_COPY(fAudioInBuf[i], insPtr+(nframes*i), nframes);
}
else if (fAudioInCount > 0)
{
for (uint i=0, j=0, k=0; j < nframes*fAudioInCount; ++k)
{
fAudioInBuf[i/fAudioInCount][j] = insPtr[i];
fAudioInBuf[i][j] = insPtr[k];

if ((i+1) % fAudioInCount == 0)
j += 1;
if (++i == fAudioInCount)
{
i = 0;
++j;
}
}
}
else
{
for (uint i=0; i < fAudioInCount; ++i)
FLOAT_COPY(fAudioInBuf[i], insPtr+(nframes*i), nframes);
}

// initialize rtaudio output
for (uint i=0; i < fAudioOutCount; ++i)
@@ -765,12 +768,15 @@ protected:
// output audio
if (fIsAudioInterleaved)
{
for (uint i=0, j=0; i < nframes*fAudioOutCount; ++i)
for (uint i=0, j=0, k=0; i < nframes*fAudioOutCount; ++k)
{
outsPtr[i] = fAudioOutBuf[i/fAudioOutCount][j];
outsPtr[k] = fAudioOutBuf[i][j];

if ((i+1) % fAudioOutCount == 0)
j += 1;
if (++i == fAudioOutCount)
{
i = 0;
++j;
}
}
}
else


Loading…
Cancel
Save