aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRay <raysan5@gmail.com>2017-12-20 00:34:31 +0100
committerRay <raysan5@gmail.com>2017-12-20 00:34:31 +0100
commitb63ffcfa0f7dcedac190a49ec48fd71d7fe2faf1 (patch)
tree1ea706c0f50103813e1bc7459fc215b5f52fb6fa /src
parent5290390494c23055c689c183aea6d88039b0d5fb (diff)
downloadraylib-b63ffcfa0f7dcedac190a49ec48fd71d7fe2faf1.tar.gz
raylib-b63ffcfa0f7dcedac190a49ec48fd71d7fe2faf1.zip
Some code tweaks
Audio module requires a complete formatting review....
Diffstat (limited to 'src')
-rw-r--r--src/audio.c31
-rw-r--r--src/audio.h25
-rw-r--r--src/raylib.h32
3 files changed, 43 insertions, 45 deletions
diff --git a/src/audio.c b/src/audio.c
index 15f50a24..7a8e185b 100644
--- a/src/audio.c
+++ b/src/audio.c
@@ -153,7 +153,12 @@
// Types and Structures Definition
//----------------------------------------------------------------------------------
-typedef enum { MUSIC_AUDIO_OGG = 0, MUSIC_AUDIO_FLAC, MUSIC_MODULE_XM, MUSIC_MODULE_MOD } MusicContextType;
+typedef enum {
+ MUSIC_AUDIO_OGG = 0,
+ MUSIC_AUDIO_FLAC,
+ MUSIC_MODULE_XM,
+ MUSIC_MODULE_MOD
+} MusicContextType;
// Music type (file streaming from memory)
typedef struct MusicData {
@@ -179,7 +184,13 @@ typedef struct MusicData {
} MusicData;
#if defined(AUDIO_STANDALONE)
-typedef enum { LOG_INFO = 0, LOG_ERROR, LOG_WARNING, LOG_DEBUG, LOG_OTHER } TraceLogType;
+typedef enum {
+ LOG_INFO = 0,
+ LOG_ERROR,
+ LOG_WARNING,
+ LOG_DEBUG,
+ LOG_OTHER
+} TraceLogType;
#endif
//----------------------------------------------------------------------------------
@@ -215,9 +226,8 @@ void TraceLog(int msgType, const char *text, ...); // Show trace lo
typedef enum { AUDIO_BUFFER_USAGE_STATIC = 0, AUDIO_BUFFER_USAGE_STREAM } AudioBufferUsage;
-typedef struct AudioBuffer AudioBuffer;
-struct AudioBuffer
-{
+// Audio buffer structure
+typedef struct AudioBuffer {
mal_dsp dsp; // For format conversion.
float volume;
float pitch;
@@ -231,10 +241,9 @@ struct AudioBuffer
AudioBuffer* next;
AudioBuffer* prev;
unsigned char buffer[1];
-};
-
-void StopAudioBuffer(AudioBuffer* audioBuffer);
+} AudioBuffer;
+void StopAudioBuffer(AudioBuffer *audioBuffer);
static mal_context context;
static mal_device device;
@@ -400,12 +409,6 @@ void InitAudioDevice(void)
// Device. Using the default device. Format is floating point because it simplifies mixing.
mal_device_config deviceConfig = mal_device_config_init(DEVICE_FORMAT, DEVICE_CHANNELS, DEVICE_SAMPLE_RATE, NULL, OnSendAudioDataToDevice);
- // Special case for PLATFORM_RPI.
-//#if defined(PLATFORM_RPI)
-// deviceConfig.alsa.noMMap = MAL_TRUE;
-// deviceConfig.bufferSizeInFrames = 2048;
-//#endif
-
result = mal_device_init(&context, mal_device_type_playback, NULL, &deviceConfig, NULL, &device);
if (result != MAL_SUCCESS)
{
diff --git a/src/audio.h b/src/audio.h
index 48ef7403..4c9faf25 100644
--- a/src/audio.h
+++ b/src/audio.h
@@ -81,9 +81,11 @@ typedef struct Wave {
// Sound source type
typedef struct Sound {
- unsigned int source; // OpenAL audio source id
- unsigned int buffer; // OpenAL audio buffer id
- int format; // OpenAL audio format specifier
+ void *audioBuffer; // Pointer to internal data used by the audio system
+
+ unsigned int source; // Audio source id
+ unsigned int buffer; // Audio buffer id
+ int format; // Audio format specifier
} Sound;
// Music type (file streaming from memory)
@@ -97,9 +99,11 @@ typedef struct AudioStream {
unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported)
unsigned int channels; // Number of channels (1-mono, 2-stereo)
- int format; // OpenAL audio format specifier
- unsigned int source; // OpenAL audio source id
- unsigned int buffers[2]; // OpenAL audio buffers (double buffering)
+ void *audioBuffer; // Pointer to internal data used by the audio system.
+
+ int format; // Audio format specifier
+ unsigned int source; // Audio source id
+ unsigned int buffers[2]; // Audio buffers (double buffering)
} AudioStream;
#ifdef __cplusplus
@@ -147,12 +151,12 @@ void ResumeMusicStream(Music music); // Resume playin
bool IsMusicPlaying(Music music); // Check if music is playing
void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level)
void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level)
-void SetMusicLoopCount(Music music, float count); // Set music loop count (loop repeats)
+void SetMusicLoopCount(Music music, int count); // Set music loop count (loop repeats)
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,
+// AudioStream management 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, const void *data, int samplesCount); // Update audio stream buffers with data
@@ -161,7 +165,10 @@ bool IsAudioBufferProcessed(AudioStream stream); // Check if any
void PlayAudioStream(AudioStream stream); // Play audio stream
void PauseAudioStream(AudioStream stream); // Pause audio stream
void ResumeAudioStream(AudioStream stream); // Resume audio stream
+bool IsAudioStreamPlaying(AudioStream stream); // Check if audio stream is playing
void StopAudioStream(AudioStream stream); // Stop audio stream
+void SetAudioStreamVolume(AudioStream stream, float volume); // Set volume for audio stream (1.0 is max level)
+void SetAudioStreamPitch(AudioStream stream, float pitch); // Set pitch for audio stream (1.0 is base level)
#ifdef __cplusplus
}
diff --git a/src/raylib.h b/src/raylib.h
index 4100cee1..b0ff1fc1 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -470,11 +470,11 @@ typedef struct Wave {
// Sound source type
typedef struct Sound {
- void* audioBuffer; // A pointer to internal data used by the audio system.
+ void *audioBuffer; // Pointer to internal data used by the audio system
- unsigned int source; // OpenAL audio source id
- unsigned int buffer; // OpenAL audio buffer id
- int format; // OpenAL audio format specifier
+ unsigned int source; // Audio source id
+ unsigned int buffer; // Audio buffer id
+ int format; // Audio format specifier
} Sound;
// Music type (file streaming from memory)
@@ -488,11 +488,11 @@ typedef struct AudioStream {
unsigned int sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported)
unsigned int channels; // Number of channels (1-mono, 2-stereo)
- void* audioBuffer; // A pointer to internal data used by the audio system.
+ void *audioBuffer; // Pointer to internal data used by the audio system.
- int format; // OpenAL audio format specifier
- unsigned int source; // OpenAL audio source id
- unsigned int buffers[2]; // OpenAL audio buffers (double buffering)
+ int format; // Audio format specifier
+ unsigned int source; // Audio source id
+ unsigned int buffers[2]; // Audio buffers (double buffering)
} AudioStream;
// Head-Mounted-Display device parameters
@@ -656,18 +656,6 @@ typedef enum {
HMD_SONY_PSVR
} VrDeviceType;
-// RRESData type
-typedef enum {
- RRES_TYPE_RAW = 0,
- RRES_TYPE_IMAGE,
- RRES_TYPE_WAVE,
- RRES_TYPE_VERTEX,
- RRES_TYPE_TEXT,
- RRES_TYPE_FONT_IMAGE,
- RRES_TYPE_FONT_CHARDATA, // CharInfo data array
- RRES_TYPE_DIRECTORY
-} RRESDataType;
-
#ifdef __cplusplus
extern "C" { // Prevents name mangling of functions
#endif
@@ -1131,8 +1119,8 @@ RLAPI void PauseAudioStream(AudioStream stream); // Pause a
RLAPI void ResumeAudioStream(AudioStream stream); // Resume audio stream
RLAPI bool IsAudioStreamPlaying(AudioStream stream); // Check if audio stream is playing
RLAPI void StopAudioStream(AudioStream stream); // Stop audio stream
-RLAPI void SetAudioStreamVolume(AudioStream stream, float volume); // Set volume for audio stream (1.0 is max level)
-RLAPI void SetAudioStreamPitch(AudioStream stream, float pitch); // Set pitch for audio stream (1.0 is base level)
+RLAPI void SetAudioStreamVolume(AudioStream stream, float volume); // Set volume for audio stream (1.0 is max level)
+RLAPI void SetAudioStreamPitch(AudioStream stream, float pitch); // Set pitch for audio stream (1.0 is base level)
#ifdef __cplusplus
}