mirror of
https://github.com/encounter/cpp3ds.git
synced 2026-03-30 11:04:22 -07:00
Fix sound bug and remove unnecessary code
This commit is contained in:
@@ -23,9 +23,7 @@ namespace {
|
||||
std::unique_ptr<char[]> buf( new char[ size ] );
|
||||
snprintf( buf.get(), size, format.c_str(), args ... );
|
||||
std::string stringUtf8( buf.get(), buf.get() + size - 1 ); // We don't want the '\0' inside
|
||||
std::wstring stringUtf32;
|
||||
cpp3ds::Utf8::toUtf32(stringUtf8.begin(), stringUtf8.end(), std::back_inserter(stringUtf32));
|
||||
return cpp3ds::String(stringUtf32);
|
||||
return cpp3ds::String::fromUtf8(stringUtf8.begin(), stringUtf8.end());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ void Sound::setBuffer(const SoundBuffer& buffer)
|
||||
|
||||
memset(&m_ndspWaveBuf, 0, sizeof(ndspWaveBuf));
|
||||
m_ndspWaveBuf.data_vaddr = buffer.getSamples();
|
||||
m_ndspWaveBuf.nsamples = buffer.getSampleCount();
|
||||
m_ndspWaveBuf.nsamples = buffer.getSampleCount() / buffer.getChannelCount();
|
||||
m_ndspWaveBuf.looping = m_loop; // Loop enabled
|
||||
m_ndspWaveBuf.status = NDSP_WBUF_FREE;
|
||||
|
||||
@@ -184,7 +184,7 @@ void Sound::setPlayingOffset(Time timeOffset)
|
||||
m_playOffset = timeOffset;
|
||||
int offset = m_buffer->getSampleRate() * m_buffer->getChannelCount() * timeOffset.asSeconds();
|
||||
m_ndspWaveBuf.data_vaddr = m_buffer->getSamples() + offset;
|
||||
m_ndspWaveBuf.nsamples = m_buffer->getSampleCount() - offset;
|
||||
m_ndspWaveBuf.nsamples = m_buffer->getSampleCount() / m_buffer->getChannelCount() - offset;
|
||||
if (status == Playing)
|
||||
ndspChnWaveBufAdd(m_channel, &m_ndspWaveBuf);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user