From dd4dd0e87d7d215a21b8fc129cbe1adc4b96afe8 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 4 Apr 2017 01:54:49 +0200 Subject: Reorganize examples folder --- examples/audio_raw_stream.c | 114 -------------------------------------------- 1 file changed, 114 deletions(-) delete mode 100644 examples/audio_raw_stream.c (limited to 'examples/audio_raw_stream.c') diff --git a/examples/audio_raw_stream.c b/examples/audio_raw_stream.c deleted file mode 100644 index 80c83e96..00000000 --- a/examples/audio_raw_stream.c +++ /dev/null @@ -1,114 +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 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -#include // Required for: malloc(), free() -#include // Required for: sinf() - -#define MAX_SAMPLES 22050 -#define MAX_SAMPLES_PER_UPDATE 4096 - -int main() -{ - // Initialization - //-------------------------------------------------------------------------------------- - int screenWidth = 800; - 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); - - // Generate samples data from sine wave - short *data = (short *)malloc(sizeof(short)*MAX_SAMPLES); - - // TODO: Review data generation, it seems data is discontinued for loop, - // for that reason, there is a clip everytime audio stream is looped... - for (int i = 0; i < MAX_SAMPLES; i++) - { - data[i] = (short)(sinf(((2*PI*(float)i)/2)*DEG2RAD)*32000); - } - - PlayAudioStream(stream); // Start processing stream buffer (no data loaded currently) - - int totalSamples = MAX_SAMPLES; - int samplesLeft = totalSamples; - - 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 - //---------------------------------------------------------------------------------- - - // Refill audio stream if required - // NOTE: Every update we check if stream data has been already consumed and we update - // buffer with new data from the generated samples, we upload data at a rate (MAX_SAMPLES_PER_UPDATE), - // but notice that at some point we update < MAX_SAMPLES_PER_UPDATE data... - if (IsAudioBufferProcessed(stream)) - { - int numSamples = 0; - if (samplesLeft >= MAX_SAMPLES_PER_UPDATE) numSamples = MAX_SAMPLES_PER_UPDATE; - else numSamples = samplesLeft; - - UpdateAudioStream(stream, data + (totalSamples - samplesLeft), numSamples); - - samplesLeft -= numSamples; - - // Reset samples feeding (loop audio) - if (samplesLeft <= 0) samplesLeft = totalSamples; - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - DrawText("SINE WAVE SHOULD BE PLAYING!", 240, 140, 20, LIGHTGRAY); - - // NOTE: Draw a part of the sine wave (only screen width, proportional values) - for (int i = 0; i < GetScreenWidth(); i++) - { - position.x = i; - position.y = 250 + 50*data[i]/32000; - - DrawPixelV(position, RED); - } - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - free(data); // Unload sine wave data - - 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; -} \ No newline at end of file -- cgit v1.2.3