adpcm support

This commit is contained in:
Sandro Sobczyński
2020-11-10 12:31:31 +01:00
parent 3dc304b829
commit a3a6150ecb
3 changed files with 8 additions and 12 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ public:
private: private:
void work(); void work();
static void audioThread(); static void audioThread();
u8 isInitialized, shouldPlay, songLoaded, isVolumeSet, latestVolume, isADPCMLoaded, wasADPCMLoaded; u8 isInitialized, shouldPlay, songLoaded, isVolumeSet, latestVolume, isADPCMLoaded;
audsrv_adpcm_t adpcmSettings; audsrv_adpcm_t adpcmSettings;
ee_thread_t audioThreadAttr; ee_thread_t audioThreadAttr;
u8 audioThreadStack[STACK_SIZE] ALIGNED(16); u8 audioThreadStack[STACK_SIZE] ALIGNED(16);
+2 -6
View File
@@ -178,13 +178,9 @@ void Audio::work()
{ {
if (audsrv_load_adpcm(&adpcmSettings, sample1, adpcmFileSize)) if (audsrv_load_adpcm(&adpcmSettings, sample1, adpcmFileSize))
PRINT_ERR("audsrv_load_adpcm() failed!"); PRINT_ERR("audsrv_load_adpcm() failed!");
wasADPCMLoaded = true;
isADPCMLoaded = false;
}
if (wasADPCMLoaded)
{
if (audsrv_play_adpcm(&adpcmSettings)) if (audsrv_play_adpcm(&adpcmSettings))
PRINT_ERR("audsrv_play_adpcm() failed!"); PRINT_ERR("audsrv_play_adpcm() failed!");
isADPCMLoaded = false;
} }
if (!shouldPlay) if (!shouldPlay)
return; return;
@@ -225,7 +221,7 @@ void Audio::test()
{ {
// audsrv_adpcm_set_volume(100); // audsrv_adpcm_set_volume(100);
FILE *file = fopen("host:chiller.adpcm", "rb"); FILE *file = fopen("host:ziobro.adpcm", "rb");
fseek(file, 0L, SEEK_END); fseek(file, 0L, SEEK_END);
adpcmFileSize = ftell(file); adpcmFileSize = ftell(file);
sample1 = new u8[adpcmFileSize]; sample1 = new u8[adpcmFileSize];
+5 -5
View File
@@ -34,7 +34,7 @@ void Ari::onInit()
{ {
engine->renderer->setCameraDefinitions(&camera.worldView, &camera.position, camera.planes); engine->renderer->setCameraDefinitions(&camera.worldView, &camera.position, camera.planes);
engine->audio.init(0); engine->audio.init(0);
engine->audio.setVolume(30); engine->audio.setVolume(60);
engine->audio.loadSong("MOV-CIRC.WAV"); engine->audio.loadSong("MOV-CIRC.WAV");
engine->audio.play(); engine->audio.play();
@@ -88,11 +88,11 @@ void Ari::onUpdate()
{ {
if (engine->pad.isCrossClicked) if (engine->pad.isCrossClicked)
{ {
// engine->audio.stop();
engine->audio.test(); engine->audio.test();
// engine->audio.unloadSong(); engine->audio.stop();
// engine->audio.loadSong("nob-else.wav"); engine->audio.unloadSong();
// engine->audio.play(); engine->audio.loadSong("nob-else.wav");
engine->audio.play();
printf("FPS:%f\n", engine->fps); printf("FPS:%f\n", engine->fps);
} }