Fix sound bug and remove unnecessary code

This commit is contained in:
Thomas Edvalson
2016-05-30 01:41:31 -04:00
parent e46d31acc7
commit 5383cac7a8
2 changed files with 3 additions and 5 deletions
+1 -3
View File
@@ -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());
}
}
+2 -2
View File
@@ -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);
}