Erwan
- Fix issue 144 (Sound is either 0 or 100%), for PSP ONLY. The methods are now here for linux/windows, but only the music volume method will work currently, and it sets the volume globally. Patch by Yeshua with some cleanup by myself.
This commit is contained in:
@@ -38,6 +38,13 @@ WAVDATA currentWav[NUMBER_WAV_CHANNELS]; // 各通道当前的播放
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
void setPspVolume(int volume)
|
||||
{
|
||||
pspAudioSetVolume(0, volume, volume);
|
||||
pspAudioSetVolume(1, volume, volume);
|
||||
pspAudioSetVolume(2, volume, volume);
|
||||
}
|
||||
|
||||
char loadWaveData(WAVDATA* p_wav, char* fileName, char memLoad) // WAVE加载, memLoad-是否加载至内磥E
|
||||
{
|
||||
|
||||
|
||||
+16
-3
@@ -145,9 +145,11 @@ JSample *JSoundSystem::LoadSample(const char *fileName)
|
||||
|
||||
void JSoundSystem::PlayMusic(JMusic *music, bool looping)
|
||||
{
|
||||
|
||||
if (music->mTrack)
|
||||
PlayMP3(music->mTrack, looping);
|
||||
JMP3 * mp3 = JMP3::mInstance;
|
||||
if (mp3) mp3->setVolume((mMusicVolume * .01) *0x8000);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -157,11 +159,22 @@ void JSoundSystem::PlaySample(JSample *sample)
|
||||
playWaveMem(sample->mSample, 0);
|
||||
}
|
||||
|
||||
void JSoundSystem::SetVolume(int volume){
|
||||
SetMusicVolume(volume);
|
||||
SetSfxVolume(volume);
|
||||
}
|
||||
|
||||
void JSoundSystem::SetVolume(int volume)
|
||||
void JSoundSystem::SetMusicVolume(int volume)
|
||||
{
|
||||
mMusicVolume = volume;
|
||||
JMP3 * mp3 = JMP3::mInstance;
|
||||
if (mp3) mp3->setVolume(volume);
|
||||
if (mp3) mp3->setVolume((mMusicVolume * .01) *0x8000);
|
||||
}
|
||||
|
||||
void JSoundSystem::SetSfxVolume(int volume)
|
||||
{
|
||||
setPspVolume((volume * .01) *0x8000);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
+10
-19
@@ -129,23 +129,6 @@ JMusic *JSoundSystem::LoadMusic(const char *fileName)
|
||||
return music;
|
||||
}
|
||||
|
||||
// void JSoundSystem::FreeMusic(JMusic *music)
|
||||
// {
|
||||
// if (music)
|
||||
// {
|
||||
// // if (music->mTrack)
|
||||
// // FMUSIC_FreeSong(music->mTrack);
|
||||
// // delete music;
|
||||
// // music = NULL;
|
||||
//
|
||||
// if (music->mTrack)
|
||||
// FSOUND_Sample_Free(music->mTrack);
|
||||
//
|
||||
// //delete music;
|
||||
// //music = NULL;
|
||||
// }
|
||||
// }
|
||||
|
||||
void JSoundSystem::PlayMusic(JMusic *music, bool looping)
|
||||
{
|
||||
// if (music && music->mTrack)
|
||||
@@ -176,14 +159,22 @@ void JSoundSystem::StopMusic(JMusic *music __attribute__((unused)))
|
||||
}
|
||||
|
||||
|
||||
void JSoundSystem::SetVolume(int volume)
|
||||
void JSoundSystem::SetVolume(int volume){
|
||||
SetMusicVolume(volume);
|
||||
SetSfxVolume(volume);
|
||||
}
|
||||
|
||||
void JSoundSystem::SetMusicVolume(int volume)
|
||||
{
|
||||
//TODO Fix to affect only mp3 playback...
|
||||
FSOUND_SetSFXMasterVolume(volume);
|
||||
|
||||
mVolume = volume;
|
||||
}
|
||||
|
||||
|
||||
void JSoundSystem::SetSfxVolume(int volume){
|
||||
//TODO
|
||||
}
|
||||
|
||||
|
||||
JSample *JSoundSystem::LoadSample(const char *fileName)
|
||||
|
||||
@@ -136,22 +136,6 @@ JMusic *JSoundSystem::LoadMusic(const char *fileName)
|
||||
return music;
|
||||
}
|
||||
|
||||
// void JSoundSystem::FreeMusic(JMusic *music)
|
||||
// {
|
||||
// if (music)
|
||||
// {
|
||||
// // if (music->mTrack)
|
||||
// // FMUSIC_FreeSong(music->mTrack);
|
||||
// // delete music;
|
||||
// // music = NULL;
|
||||
//
|
||||
// if (music->mTrack)
|
||||
// FSOUND_Sample_Free(music->mTrack);
|
||||
//
|
||||
// //delete music;
|
||||
// //music = NULL;
|
||||
// }
|
||||
// }
|
||||
|
||||
void JSoundSystem::PlayMusic(JMusic *music, bool looping)
|
||||
{
|
||||
@@ -171,22 +155,27 @@ void JSoundSystem::PlayMusic(JMusic *music, bool looping)
|
||||
|
||||
void JSoundSystem::StopMusic(JMusic *music)
|
||||
{
|
||||
// if (music && music->mTrack)
|
||||
// FMUSIC_StopSong(music->mTrack);
|
||||
|
||||
FSOUND_StopSound(mChannel);
|
||||
}
|
||||
|
||||
|
||||
void JSoundSystem::SetVolume(int volume)
|
||||
{
|
||||
SetMusicVolume(volume);
|
||||
SetSfxVolume(volume);
|
||||
}
|
||||
|
||||
void JSoundSystem::SetMusicVolume(int volume)
|
||||
{
|
||||
//TODO This function needs to be redone
|
||||
FSOUND_SetSFXMasterVolume(volume);
|
||||
|
||||
mVolume = volume;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void JSoundSystem::SetSfxVolume(int volume){
|
||||
//TODO
|
||||
}
|
||||
|
||||
JSample *JSoundSystem::LoadSample(const char *fileName)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user