FigBug/Gin

Demo does not build OOTB with JUCE 6.1

jrengmusic opened this issue · 3 comments

The following snippet missing a lot of JUCE 6.1 functions

`void ResamplingFifo::pushAudioBufferInt (const juce::AudioSampleBuffer& src)
{
jassert (src.getNumSamples() <= blockSize);

int todo = src.getNumSamples();
int done = 0;

{
    using SourceFormat = juce::AudioData::Format<juce::AudioData::Float32, juce::AudioData::NativeEndian>;
    using DestFormat   = juce::AudioData::Format<juce::AudioData::Float32, juce::AudioData::NativeEndian>;

    juce::AudioData::interleaveSamples (juce::AudioData::NonInterleavedSource<SourceFormat> { src.getArrayOfReadPointers(),      numChannels },
                                        juce::AudioData::InterleavedDest<DestFormat>        { ilInputBuffer.getWritePointer (0), numChannels },
                                        src.getNumSamples());
}


SRC_DATA data;
data.data_in = ilInputBuffer.getReadPointer (0);
data.data_out = ilOutputBuffer.getWritePointer (0);
data.output_frames = 4 * blockSize;
data.src_ratio = ratio;
data.end_of_input = 0;

while (todo > 0)
{
    data.input_frames = todo;
    data.input_frames_used = 0;
    data.output_frames_gen = 0;

    data.data_in = ilInputBuffer.getReadPointer (0) + done * numChannels;

    src_process (impl->state, &data);

    todo -= data.input_frames_used;
    done += data.input_frames_used;

    if (data.output_frames_gen > 0)
    {
        using SourceFormat = juce::AudioData::Format<juce::AudioData::Float32, juce::AudioData::NativeEndian>;
        using DestFormat   = juce::AudioData::Format<juce::AudioData::Float32, juce::AudioData::NativeEndian>;
        
        juce::AudioData::deinterleaveSamples (juce::AudioData::InterleavedSource<SourceFormat> { ilOutputBuffer.getReadPointer (0),      numChannels },
                                              juce::AudioData::NonInterleavedDest<DestFormat>  { outputBuffer.getArrayOfWritePointers(), numChannels },
                                              int (data.output_frames_gen));

        outputFifo.write (outputBuffer, int (data.output_frames_gen));
    }
}

}`

Are you building against master or develop?

JUCE 6.1 master (official release).

This should build against master again now, latest develop has been merged in.