diff options
| author | Ray <[email protected]> | 2019-05-21 17:03:01 +0200 |
|---|---|---|
| committer | Ray <[email protected]> | 2019-05-21 17:03:01 +0200 |
| commit | 6f4a27cc61f12d3789729413bed69e86226911cf (patch) | |
| tree | 92a23884870826e6deaf560743ebbdae8bce94ba /examples/src/audio | |
| parent | 2141d7943b6b65fa66f583f0819bb27fee815189 (diff) | |
| download | raylib.com-6f4a27cc61f12d3789729413bed69e86226911cf.tar.gz raylib.com-6f4a27cc61f12d3789729413bed69e86226911cf.zip | |
Remove examples default code
Code is directly fetched form raylib repo, this way we avoid duplicate code!
Diffstat (limited to 'examples/src/audio')
| -rw-r--r-- | examples/src/audio/audio_module_playing.c | 141 | ||||
| -rw-r--r-- | examples/src/audio/audio_music_stream.c | 95 | ||||
| -rw-r--r-- | examples/src/audio/audio_raw_stream.c | 165 | ||||
| -rw-r--r-- | examples/src/audio/audio_sound_loading.c | 67 |
4 files changed, 0 insertions, 468 deletions
diff --git a/examples/src/audio/audio_module_playing.c b/examples/src/audio/audio_module_playing.c deleted file mode 100644 index 4aebd1e..0000000 --- a/examples/src/audio/audio_module_playing.c +++ /dev/null @@ -1,141 +0,0 @@ -/******************************************************************************************* -* -* raylib [audio] example - Module playing (streaming) -* -* NOTE: This example requires OpenAL Soft library installed -* -* This example has been created using raylib 1.5 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2016 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -#define MAX_CIRCLES 64 - -typedef struct { - Vector2 position; - float radius; - float alpha; - float speed; - Color color; -} CircleWave; - -int main(void) -{ - // Initialization - //-------------------------------------------------------------------------------------- - const int screenWidth = 800; - const int screenHeight = 450; - - SetConfigFlags(FLAG_MSAA_4X_HINT); // NOTE: Try to enable MSAA 4X - - InitWindow(screenWidth, screenHeight, "raylib [audio] example - module playing (streaming)"); - - InitAudioDevice(); // Initialize audio device - - Color colors[14] = { ORANGE, RED, GOLD, LIME, BLUE, VIOLET, BROWN, LIGHTGRAY, PINK, - YELLOW, GREEN, SKYBLUE, PURPLE, BEIGE }; - - // Creates ome circles for visual effect - CircleWave circles[MAX_CIRCLES]; - - for (int i = MAX_CIRCLES - 1; i >= 0; i--) - { - circles[i].alpha = 0.0f; - 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].color = colors[GetRandomValue(0, 13)]; - } - - Music xm = LoadMusicStream("resources/chiptun1.mod"); - - PlayMusicStream(xm); - - float timePlayed = 0.0f; - bool pause = false; - - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - UpdateMusicStream(xm); // Update music buffer with new stream data - - // Restart music playing (stop and play) - if (IsKeyPressed(KEY_SPACE)) - { - StopMusicStream(xm); - PlayMusicStream(xm); - } - - // Pause/Resume music playing - if (IsKeyPressed(KEY_P)) - { - pause = !pause; - - if (pause) PauseMusicStream(xm); - else ResumeMusicStream(xm); - } - - // Get timePlayed scaled to bar dimensions - timePlayed = GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40); - - // Color circles animation - for (int i = MAX_CIRCLES - 1; (i >= 0) && !pause; i--) - { - circles[i].alpha += circles[i].speed; - circles[i].radius += circles[i].speed*10.0f; - - if (circles[i].alpha > 1.0f) circles[i].speed *= -1; - - if (circles[i].alpha <= 0.0f) - { - circles[i].alpha = 0.0f; - 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].color = colors[GetRandomValue(0, 13)]; - circles[i].speed = (float)GetRandomValue(1, 100)/20000.0f; - } - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - for (int i = MAX_CIRCLES - 1; i >= 0; i--) - { - DrawCircleV(circles[i].position, circles[i].radius, Fade(circles[i].color, circles[i].alpha)); - } - - // Draw time bar - DrawRectangle(20, screenHeight - 20 - 12, screenWidth - 40, 12, LIGHTGRAY); - DrawRectangle(20, screenHeight - 20 - 12, (int)timePlayed, 12, MAROON); - DrawRectangleLines(20, screenHeight - 20 - 12, screenWidth - 40, 12, GRAY); - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - UnloadMusicStream(xm); // Unload music stream buffers from RAM - - CloseAudioDevice(); // Close audio device (music streaming is automatically stopped) - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -}
\ No newline at end of file diff --git a/examples/src/audio/audio_music_stream.c b/examples/src/audio/audio_music_stream.c deleted file mode 100644 index 76efb7d..0000000 --- a/examples/src/audio/audio_music_stream.c +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************************* -* -* raylib [audio] example - Music playing (streaming) -* -* NOTE: This example requires OpenAL Soft library installed -* -* This example has been created using raylib 1.3 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2015 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -int main(void) -{ - // Initialization - //-------------------------------------------------------------------------------------- - const int screenWidth = 800; - const int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raylib [audio] example - music playing (streaming)"); - - InitAudioDevice(); // Initialize audio device - - Music music = LoadMusicStream("resources/guitar_noodling.ogg"); - - PlayMusicStream(music); - - float timePlayed = 0.0f; - bool pause = false; - - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - UpdateMusicStream(music); // Update music buffer with new stream data - - // Restart music playing (stop and play) - if (IsKeyPressed(KEY_SPACE)) - { - StopMusicStream(music); - PlayMusicStream(music); - } - - // Pause/Resume music playing - if (IsKeyPressed(KEY_P)) - { - pause = !pause; - - if (pause) PauseMusicStream(music); - else ResumeMusicStream(music); - } - - // Get timePlayed scaled to bar dimensions (400 pixels) - timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*400; - - if (timePlayed > 400) StopMusicStream(music); - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - DrawText("MUSIC SHOULD BE PLAYING!", 255, 150, 20, LIGHTGRAY); - - DrawRectangle(200, 200, 400, 12, LIGHTGRAY); - DrawRectangle(200, 200, (int)timePlayed, 12, MAROON); - DrawRectangleLines(200, 200, 400, 12, GRAY); - - DrawText("PRESS SPACE TO RESTART MUSIC", 215, 250, 20, LIGHTGRAY); - DrawText("PRESS P TO PAUSE/RESUME MUSIC", 208, 280, 20, LIGHTGRAY); - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - UnloadMusicStream(music); // Unload music stream buffers from RAM - - CloseAudioDevice(); // Close audio device (music streaming is automatically stopped) - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -}
\ No newline at end of file diff --git a/examples/src/audio/audio_raw_stream.c b/examples/src/audio/audio_raw_stream.c deleted file mode 100644 index b114173..0000000 --- a/examples/src/audio/audio_raw_stream.c +++ /dev/null @@ -1,165 +0,0 @@ -/******************************************************************************************* -* -* raylib [audio] example - Raw audio streaming -* -* NOTE: This example requires OpenAL Soft library installed -* -* This example has been created using raylib 1.6 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2015-2019 Ramon Santamaria (@raysan5) and James Hofmann (@triplefox) -* -********************************************************************************************/ - -#include "raylib.h" - -#include <stdlib.h> // Required for: malloc(), free() -#include <math.h> // Required for: sinf() -#include <string.h> // Required for: memcpy() - -#define MAX_SAMPLES 512 -#define MAX_SAMPLES_PER_UPDATE 4096 - -int main(void) -{ - // Initialization - //-------------------------------------------------------------------------------------- - const int screenWidth = 800; - const int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raylib [audio] example - raw audio streaming"); - - InitAudioDevice(); // Initialize audio device - - // Init raw audio stream (sample rate: 22050, sample size: 16bit-short, channels: 1-mono) - AudioStream stream = InitAudioStream(22050, 16, 1); - - // Buffer for the single cycle waveform we are synthesizing - short *data = (short *)malloc(sizeof(short)*MAX_SAMPLES); - - // Frame buffer, describing the waveform when repeated over the course of a frame - short *writeBuf = (short *)malloc(sizeof(short)*MAX_SAMPLES_PER_UPDATE); - - PlayAudioStream(stream); // Start processing stream buffer (no data loaded currently) - - // Position read in to determine next frequency - Vector2 mousePosition = { -100.0f, -100.0f }; - - // Cycles per second (hz) - float frequency = 440.0f; - - // Previous value, used to test if sine needs to be rewritten, and to smoothly modulate frequency - float oldFrequency = 1.0f; - - // Cursor to read and copy the samples of the sine wave buffer - int readCursor = 0; - - // Computed size in samples of the sine wave - int waveLength = 1; - - Vector2 position = { 0, 0 }; - - SetTargetFPS(30); // Set our game to run at 30 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - - // Sample mouse input. - mousePosition = GetMousePosition(); - - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) - { - float fp = (float)(mousePosition.y); - frequency = 40.0f + (float)(fp); - } - - // Rewrite the sine wave. - // Compute two cycles to allow the buffer padding, simplifying any modulation, resampling, etc. - if (frequency != oldFrequency) - { - // Compute wavelength. Limit size in both directions. - int oldWavelength = waveLength; - waveLength = (int)(22050/frequency); - if (waveLength > MAX_SAMPLES/2) waveLength = MAX_SAMPLES/2; - if (waveLength < 1) waveLength = 1; - - // Write sine wave. - for (int i = 0; i < waveLength*2; i++) - { - data[i] = (short)(sinf(((2*PI*(float)i/waveLength)))*32000); - } - - // Scale read cursor's position to minimize transition artifacts - readCursor = (int)(readCursor * ((float)waveLength / (float)oldWavelength)); - oldFrequency = frequency; - } - - // Refill audio stream if required - if (IsAudioBufferProcessed(stream)) - { - // Synthesize a buffer that is exactly the requested size - int writeCursor = 0; - - while (writeCursor < MAX_SAMPLES_PER_UPDATE) - { - // Start by trying to write the whole chunk at once - int writeLength = MAX_SAMPLES_PER_UPDATE-writeCursor; - - // Limit to the maximum readable size - int readLength = waveLength-readCursor; - - if (writeLength > readLength) writeLength = readLength; - - // Write the slice - memcpy(writeBuf + writeCursor, data + readCursor, writeLength*sizeof(short)); - - // Update cursors and loop audio - readCursor = (readCursor + writeLength) % waveLength; - - writeCursor += writeLength; - } - - // Copy finished frame to audio stream - UpdateAudioStream(stream, writeBuf, MAX_SAMPLES_PER_UPDATE); - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - DrawText(FormatText("sine frequency: %i",(int)frequency), GetScreenWidth() - 220, 10, 20, RED); - DrawText("click mouse button to change frequency", 10, 10, 20, DARKGRAY); - - // Draw the current buffer state proportionate to the screen - for (int i = 0; i < screenWidth; i++) - { - position.x = i; - position.y = 250 + 50*data[i*MAX_SAMPLES/screenWidth]/32000; - - DrawPixelV(position, RED); - } - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - free(data); // Unload sine wave data - free(writeBuf); // Unload write buffer - - CloseAudioStream(stream); // Close raw audio stream and delete buffers from RAM - CloseAudioDevice(); // Close audio device (music streaming is automatically stopped) - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} diff --git a/examples/src/audio/audio_sound_loading.c b/examples/src/audio/audio_sound_loading.c deleted file mode 100644 index d208dd9..0000000 --- a/examples/src/audio/audio_sound_loading.c +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************************* -* -* raylib [audio] example - Sound loading and playing -* -* NOTE: This example requires OpenAL Soft library installed -* -* This example has been created using raylib 1.0 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2014 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -int main(void) -{ - // Initialization - //-------------------------------------------------------------------------------------- - const int screenWidth = 800; - const int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raylib [audio] example - sound loading and playing"); - - InitAudioDevice(); // Initialize audio device - - Sound fxWav = LoadSound("resources/sound.wav"); // Load WAV audio file - Sound fxOgg = LoadSound("resources/tanatana.ogg"); // Load OGG audio file - - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed(KEY_SPACE)) PlaySound(fxWav); // Play WAV sound - if (IsKeyPressed(KEY_ENTER)) PlaySound(fxOgg); // Play OGG sound - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - DrawText("Press SPACE to PLAY the WAV sound!", 200, 180, 20, LIGHTGRAY); - - DrawText("Press ENTER to PLAY the OGG sound!", 200, 220, 20, LIGHTGRAY); - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - UnloadSound(fxWav); // Unload sound data - UnloadSound(fxOgg); // Unload sound data - - CloseAudioDevice(); // Close audio device - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -}
\ No newline at end of file |
