summaryrefslogtreecommitdiffhomepage
path: root/src/audio.h
diff options
context:
space:
mode:
authorvictorfisac <[email protected]>2017-07-15 16:05:00 +0200
committervictorfisac <[email protected]>2017-07-15 16:05:00 +0200
commiteb7b5e59bbaec0f556c4fde21cd0bf20819a8108 (patch)
tree37d153ffc14c5ba799169b91b2e14a32b06a710a /src/audio.h
parentf9277f216372179560c560427beccdd2e5c5d094 (diff)
parent910b4b5d53d9a904070807de5e8a66edadd939e3 (diff)
downloadraylib-eb7b5e59bbaec0f556c4fde21cd0bf20819a8108.tar.gz
raylib-eb7b5e59bbaec0f556c4fde21cd0bf20819a8108.zip
Merge branch 'master' of https://github.com/raysan5/raylib
Diffstat (limited to 'src/audio.h')
-rw-r--r--src/audio.h47
1 files changed, 27 insertions, 20 deletions
diff --git a/src/audio.h b/src/audio.h
index 01ed9f72..48ef7403 100644
--- a/src/audio.h
+++ b/src/audio.h
@@ -1,31 +1,37 @@
/**********************************************************************************************
*
-* raylib.audio
+* raylib.audio - Basic funtionality to work with audio
*
-* This module provides basic functionality to work with audio:
-* Manage audio device (init/close)
-* Load and Unload audio files (WAV, OGG, FLAC, XM, MOD)
-* Play/Stop/Pause/Resume loaded audio
-* Manage mixing channels
-* Manage raw audio context
+* FEATURES:
+* - Manage audio device (init/close)
+* - Load and unload audio files
+* - Format wave data (sample rate, size, channels)
+* - Play/Stop/Pause/Resume loaded audio
+* - Manage mixing channels
+* - Manage raw audio context
+*
+* LIMITATIONS:
+* Only up to two channels supported: MONO and STEREO (for additional channels, use AL_EXT_MCFORMATS)
+* Only the following sample sizes supported: 8bit PCM, 16bit PCM, 32-bit float PCM (using AL_EXT_FLOAT32)
*
* DEPENDENCIES:
* OpenAL Soft - Audio device management (http://kcat.strangesoft.net/openal.html)
* stb_vorbis - OGG audio files loading (http://www.nothings.org/stb_vorbis/)
-* jar_xm - XM module file loading
-* jar_mod - MOD audio file loading
-* dr_flac - FLAC audio file loading
+* jar_xm - XM module file loading (#define SUPPORT_FILEFORMAT_XM)
+* jar_mod - MOD audio file loading (#define SUPPORT_FILEFORMAT_MOD)
+* dr_flac - FLAC audio file loading (#define SUPPORT_FILEFORMAT_FLAC)
*
-* Many thanks to Joshua Reisenauer (github: @kd7tck) for the following additions:
-* XM audio module support (jar_xm)
-* MOD audio module support (jar_mod)
-* Mixing channels support
-* Raw audio context support
+* CONTRIBUTORS:
+* Joshua Reisenauer (github: @kd7tck):
+* - XM audio module support (jar_xm)
+* - MOD audio module support (jar_mod)
+* - Mixing channels support
+* - Raw audio context support
*
*
* LICENSE: zlib/libpng
*
-* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5)
+* Copyright (c) 2014-2017 Ramon Santamaria (@raysan5)
*
* This software is provided "as-is", without any express or implied warranty. In no event
* will the authors be held liable for any damages arising from the use of this software.
@@ -117,7 +123,7 @@ Wave LoadWave(const char *fileName); // Load wave dat
Wave LoadWaveEx(void *data, int sampleCount, int sampleRate, int sampleSize, int channels); // Load wave data from raw array data
Sound LoadSound(const char *fileName); // Load sound from file
Sound LoadSoundFromWave(Wave wave); // Load sound from wave data
-void UpdateSound(Sound sound, const void *data, int samplesCount); // Update sound buffer with new data
+void UpdateSound(Sound sound, const void *data, int samplesCount);// Update sound buffer with new data
void UnloadWave(Wave wave); // Unload wave data
void UnloadSound(Sound sound); // Unload sound
void PlaySound(Sound sound); // Play a sound
@@ -145,10 +151,11 @@ void SetMusicLoopCount(Music music, float count); // Set music loo
float GetMusicTimeLength(Music music); // Get music time length (in seconds)
float GetMusicTimePlayed(Music music); // Get current music time played (in seconds)
+// Raw audio stream functions
AudioStream InitAudioStream(unsigned int sampleRate,
- unsigned int sampleSize,
- unsigned int channels); // Init audio stream (to stream raw audio pcm data)
-void UpdateAudioStream(AudioStream stream, void *data, int samplesCount); // Update audio stream buffers with data
+ unsigned int sampleSize,
+ unsigned int channels); // Init audio stream (to stream raw audio pcm data)
+void UpdateAudioStream(AudioStream stream, const void *data, int samplesCount); // Update audio stream buffers with data
void CloseAudioStream(AudioStream stream); // Close audio stream and free memory
bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill
void PlayAudioStream(AudioStream stream); // Play audio stream