rename items based on feedback

This commit is contained in:
Jeff Myers 2023-08-02 10:39:51 -07:00
parent d25c662f24
commit 6a6373b019
2 changed files with 14 additions and 10 deletions

View File

@ -912,7 +912,6 @@ Sound LoadSoundFromWave(Wave wave)
sound.stream.sampleSize = 32; sound.stream.sampleSize = 32;
sound.stream.channels = AUDIO_DEVICE_CHANNELS; sound.stream.channels = AUDIO_DEVICE_CHANNELS;
sound.stream.buffer = audioBuffer; sound.stream.buffer = audioBuffer;
sound.noFree = false;
} }
return sound; return sound;
@ -921,25 +920,24 @@ Sound LoadSoundFromWave(Wave wave)
// Clone sound from existing sound data, clone does not own wave data // Clone sound from existing sound data, clone does not own wave data
// Wave data must // Wave data must
// NOTE: Wave data must be unallocated manually and will be shared across all clones // NOTE: Wave data must be unallocated manually and will be shared across all clones
Sound CloneSound(Sound sourceSound) Sound LoadSoundAlias(Sound source)
{ {
Sound sound = { 0 }; Sound sound = { 0 };
if (sourceSound.stream.buffer->data != NULL) if (source.stream.buffer->data != NULL)
{ {
AudioBuffer* audioBuffer = LoadAudioBuffer(AUDIO_DEVICE_FORMAT, AUDIO_DEVICE_CHANNELS, AUDIO.System.device.sampleRate, sourceSound.frameCount, AUDIO_BUFFER_USAGE_STATIC); AudioBuffer* audioBuffer = LoadAudioBuffer(AUDIO_DEVICE_FORMAT, AUDIO_DEVICE_CHANNELS, AUDIO.System.device.sampleRate, source.frameCount, AUDIO_BUFFER_USAGE_STATIC);
if (audioBuffer == NULL) if (audioBuffer == NULL)
{ {
TRACELOG(LOG_WARNING, "SOUND: Failed to create buffer"); TRACELOG(LOG_WARNING, "SOUND: Failed to create buffer");
return sound; // early return to avoid dereferencing the audioBuffer null pointer return sound; // early return to avoid dereferencing the audioBuffer null pointer
} }
audioBuffer->data = sourceSound.stream.buffer->data; audioBuffer->data = source.stream.buffer->data;
sound.frameCount = sourceSound.frameCount; sound.frameCount = source.frameCount;
sound.stream.sampleRate = AUDIO.System.device.sampleRate; sound.stream.sampleRate = AUDIO.System.device.sampleRate;
sound.stream.sampleSize = 32; sound.stream.sampleSize = 32;
sound.stream.channels = AUDIO_DEVICE_CHANNELS; sound.stream.channels = AUDIO_DEVICE_CHANNELS;
sound.stream.buffer = audioBuffer; sound.stream.buffer = audioBuffer;
sound.noFree = true;
} }
return sound; return sound;
@ -965,7 +963,13 @@ void UnloadWave(Wave wave)
// Unload sound // Unload sound
void UnloadSound(Sound sound) void UnloadSound(Sound sound)
{ {
UnloadAudioBuffer(sound.stream.buffer, !sound.noFree); UnloadAudioBuffer(sound.stream.buffer, true);
//TRACELOG(LOG_INFO, "SOUND: Unloaded sound data from RAM");
}
void UnloadSoundAlias(Sound alias)
{
UnloadAudioBuffer(alias.stream.buffer, false);
//TRACELOG(LOG_INFO, "SOUND: Unloaded sound data from RAM"); //TRACELOG(LOG_INFO, "SOUND: Unloaded sound data from RAM");
} }

View File

@ -461,7 +461,6 @@ typedef struct AudioStream {
typedef struct Sound { typedef struct Sound {
AudioStream stream; // Audio stream AudioStream stream; // Audio stream
unsigned int frameCount; // Total number of frames (considering channels) unsigned int frameCount; // Total number of frames (considering channels)
bool noFree; // The sound data buffer is owned by something else, don't free it
} Sound; } Sound;
// Music, audio stream, anything longer than ~10 seconds should be streamed // Music, audio stream, anything longer than ~10 seconds should be streamed
@ -1532,11 +1531,12 @@ RLAPI Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileDat
RLAPI bool IsWaveReady(Wave wave); // Checks if wave data is ready RLAPI bool IsWaveReady(Wave wave); // Checks if wave data is ready
RLAPI Sound LoadSound(const char *fileName); // Load sound from file RLAPI Sound LoadSound(const char *fileName); // Load sound from file
RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound from wave data RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound from wave data
RLAPI Sound CloneSound(Sound sourceSound); // Create a new sound that shares the same sample data as the source sound, does not own the sound data RLAPI Sound LoadSoundAlias(Sound source); // Create a new sound that shares the same sample data as the source sound, does not own the sound data
RLAPI bool IsSoundReady(Sound sound); // Checks if a sound is ready RLAPI bool IsSoundReady(Sound sound); // Checks if a sound is ready
RLAPI void UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data RLAPI void UpdateSound(Sound sound, const void *data, int sampleCount); // Update sound buffer with new data
RLAPI void UnloadWave(Wave wave); // Unload wave data RLAPI void UnloadWave(Wave wave); // Unload wave data
RLAPI void UnloadSound(Sound sound); // Unload sound RLAPI void UnloadSound(Sound sound); // Unload sound
RLAPI void UnloadSoundAlias(Sound alias); // Unload a sound alias (does not deallocate sample data)
RLAPI bool ExportWave(Wave wave, const char *fileName); // Export wave data to file, returns true on success RLAPI bool ExportWave(Wave wave, const char *fileName); // Export wave data to file, returns true on success
RLAPI bool ExportWaveAsCode(Wave wave, const char *fileName); // Export wave sample data to code (.h), returns true on success RLAPI bool ExportWaveAsCode(Wave wave, const char *fileName); // Export wave sample data to code (.h), returns true on success