ange-yaghi/engine-sim

audio source and buffer

LarryMoe11 opened this issue · 1 comments

I'm attempting to update delta-studio, but I'm failing to find any decent documentation stating how to use audio sources and buffers. I started to adapt previous code, but I'm getting errors stating expression must have class type but it has type "ysAudioSource**

this is the section of code I'm referring to:

m_audioBuffer.initialize(44100, 44100);
m_audioBuffer.m_writePointer = (int)(44100 * 0.1);

ysAudioParameters params;
params.m_bitsPerSample = 16;
params.m_channelCount = 1;
params.m_sampleRate = 44100;
m_engine.GetAudioDevice()->CreateBuffer(&params, 44100, m_outputAudioBuffer);
m_engine.GetAudioDevice()->CreateSource(&params, 44100, m_audioSource);
m_audioSource.SetMode((m_simulator->getEngine() != nullptr)
    ? ysAudioSource::Mode::Loop
    : ysAudioSource::Mode::Stop);
m_audioSource->SetPan(0.0f);
m_audioSource->SetVolume(1.0f);

fixed it with the following...

    m_audioBuffer.initialize(44100, 44100);
    m_audioBuffer.m_writePointer = (int)(44100 * 0.1);

    ysAudioParameters params;
    params.m_bitsPerSample = 16;
    params.m_channelCount = 1;
    params.m_sampleRate = 44100;
    m_engine.GetAudioDevice()->CreateBuffer(&params, 44100, m_outputAudioBuffer);
    m_engine.GetAudioDevice()->CreateSource(&params, 44100, m_audioSource);

    ysAudioSource m_audioSource = ysAudioSource::ysAudioSource(m_engine.GetAudioDevice()->GetAPI());
    ysAudioBuffer m_outputAudioBuffer = ysAudioBuffer::ysAudioBuffer(m_engine.GetAudioDevice()->GetAPI());

    m_audioSource.SetMode((m_simulator->getEngine() != nullptr)
        ? ysAudioSource::Mode::Loop
        : ysAudioSource::Mode::Stop);
    m_audioSource.SetPan(0.0f);
    m_audioSource.SetVolume(1.0f);