summaryrefslogtreecommitdiffhomepage
path: root/examples/web/audio/audio_module_playing.c
diff options
context:
space:
mode:
authorraysan5 <[email protected]>2020-12-24 13:26:30 +0100
committerraysan5 <[email protected]>2020-12-24 13:26:30 +0100
commit83ab2cb01746a869b625c9d84fbb4737146b73a9 (patch)
tree010b0794848d863916e5acb4f766ea9e7ecb6e90 /examples/web/audio/audio_module_playing.c
parentd11274dcfcb0f349fba16ab4b83d2b96bcac8d1a (diff)
downloadraylib.com-83ab2cb01746a869b625c9d84fbb4737146b73a9.tar.gz
raylib.com-83ab2cb01746a869b625c9d84fbb4737146b73a9.zip
Updated Web examples to raylib 3.5
Diffstat (limited to 'examples/web/audio/audio_module_playing.c')
-rw-r--r--examples/web/audio/audio_module_playing.c35
1 files changed, 21 insertions, 14 deletions
diff --git a/examples/web/audio/audio_module_playing.c b/examples/web/audio/audio_module_playing.c
index 92af3ac..5b7fed7 100644
--- a/examples/web/audio/audio_module_playing.c
+++ b/examples/web/audio/audio_module_playing.c
@@ -17,7 +17,7 @@
#include <emscripten/emscripten.h>
#endif
-#define MAX_CIRCLES 32
+#define MAX_CIRCLES 64
//----------------------------------------------------------------------------------
// Types and Structures Definition
@@ -42,10 +42,11 @@ Color colors[14] = { ORANGE, RED, GOLD, LIME, BLUE, VIOLET, BROWN, LIGHTGRAY, PI
// Creates ome circles for visual effect
CircleWave circles[MAX_CIRCLES];
-Music xm = { 0 };
+Music music = { 0 };
float timePlayed = 0.0f;
static bool pause = false;
+float pitch = 1.0f;
//----------------------------------------------------------------------------------
// Module Functions Declaration
@@ -69,16 +70,17 @@ int main(void)
circles[i].radius = GetRandomValue(10, 40);
circles[i].position.x = GetRandomValue(circles[i].radius, screenWidth - circles[i].radius);
circles[i].position.y = GetRandomValue(circles[i].radius, screenHeight - circles[i].radius);
- circles[i].speed = (float)GetRandomValue(1, 100)/20000.0f;
+ circles[i].speed = (float)GetRandomValue(1, 100)/2000.0f;
circles[i].color = colors[GetRandomValue(0, 13)];
}
- xm = LoadMusicStream("resources/mini1111.xm");
+ music = LoadMusicStream("resources/mini1111.xm");
+ music.looping = false;
- PlayMusicStream(xm); // Play module stream
+ PlayMusicStream(music);
#if defined(PLATFORM_WEB)
- emscripten_set_main_loop(UpdateDrawFrame, 0, 1);
+ emscripten_set_main_loop(UpdateDrawFrame, 60, 1);
#else
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
//--------------------------------------------------------------------------------------
@@ -92,7 +94,7 @@ int main(void)
// De-Initialization
//--------------------------------------------------------------------------------------
- UnloadMusicStream(xm); // Unload music stream buffers from RAM
+ UnloadMusicStream(music); // Unload music stream buffers from RAM
CloseAudioDevice(); // Close audio device (music streaming is automatically stopped)
@@ -109,13 +111,13 @@ void UpdateDrawFrame(void)
{
// Update
//----------------------------------------------------------------------------------
- UpdateMusicStream(xm); // Update music buffer with new stream data
+ UpdateMusicStream(music); // Update music buffer with new stream data
// Restart music playing (stop and play)
if (IsKeyPressed(KEY_SPACE))
{
- StopMusicStream(xm);
- PlayMusicStream(xm);
+ StopMusicStream(music);
+ PlayMusicStream(music);
}
// Pause/Resume music playing
@@ -123,12 +125,17 @@ void UpdateDrawFrame(void)
{
pause = !pause;
- if (pause) PauseMusicStream(xm);
- else ResumeMusicStream(xm);
+ if (pause) PauseMusicStream(music);
+ else ResumeMusicStream(music);
}
+ if (IsKeyDown(KEY_DOWN)) pitch -= 0.01f;
+ else if (IsKeyDown(KEY_UP)) pitch += 0.01f;
+
+ SetMusicPitch(music, pitch);
+
// Get timePlayed scaled to bar dimensions
- timePlayed = GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40);
+ timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*(screenWidth - 40);
// Color circles animation
for (int i = MAX_CIRCLES - 1; (i >= 0) && !pause; i--)
@@ -145,7 +152,7 @@ void UpdateDrawFrame(void)
circles[i].position.x = GetRandomValue(circles[i].radius, screenWidth - circles[i].radius);
circles[i].position.y = GetRandomValue(circles[i].radius, screenHeight - circles[i].radius);
circles[i].color = colors[GetRandomValue(0, 13)];
- circles[i].speed = (float)GetRandomValue(1, 100)/20000.0f;
+ circles[i].speed = (float)GetRandomValue(1, 100)/2000.0f;
}
}
//----------------------------------------------------------------------------------