| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Co-authored-by: Listeria monocytogenes <[email protected]>
|
|
Similarly to how it's done for WAV format, by forcing the conversion
to s16 on UpdateMusicStream().
|
|
also allow `finalFrame = wave->frameCount' as the range of frames does
not include it.
Co-authored-by: Listeria monocytogenes <[email protected]>
|
|
Co-authored-by: Listeria monocytogenes <[email protected]>
|
|
|
|
* Fixes for loading Music
Fix for #3889
Fixes for QOA crashes.
Memory leak FIX on unsuccessful .wav loading.
* Added comments
|
|
|
|
|
|
* Flip release of buffer;
First it needs to be taken out of the processing chain, then it can be released. The inverse of the initialization.
* Add mutex locks to audio buffer functions; Separate those used from both threads
* Flip release of buffer;
First it needs to be taken out of the processing chain, then it can be released. The inverse of the initialization.
* Remove TODO marker; The buffer is in stopped state and its data won't be accessed
* Add mutex locks to music/stream functions directly operating on buffer
* Secure UpdateMusicStream/PlayMusicStream/UpdateAudioStream;
This change is twofold:
* Add locks to UpdateMusicStream/UpdateAudioStream (second one needed separation)
* Remove unnecessary hack to restart music - inlining the statements resulted in a no-op
Especially the second part made it easier to ensure thread-safety overall
* Remove redundant check; Already checked at beginning of function
|
|
- Review formatting
- Improve readability for some functions result return
- Minimize early returns
- Align LoadFileData() to UnloadFileData()
|
|
Fixes some crashes, e.g. calling StopMusicStream after trying to load Music from a non-existant .mp3 file
|
|
|
|
`char *txtData = (char *)RL_CALLOC(waveDataSize * 6 + 2000, sizeof(char));`
assumes every chunk being added to txtData is 6 bytes. This is not always true, sometimes a newline is involved and the data becomes 12 bytes instead, and this can cause a random segfault.
This commit changes `6` to `12`, and explains why in the comment.
|
|
* Added GetFileNameWithoutExt, GetFileName & strprbrk to raudio.c
* Gave return values to SaveFileData & SaveFileText in raudio.c
|
|
|
|
|
|
|
|
* Disable unused miniaudio features
* Fix mistakes
|
|
|
|
|
|
source.frameCount. This internally allocates memory to the structs data pointer which is then later overridden by the correct sound data of the source sound. (#3458)
Additionally added a volume assignment from old to new as currently there is no way to get the volume of a sound and the AudioBuffer struct is not reachable from user code due to opaque definition.
|
|
It feels a little unfinished when you can SetMasterVolume but can't
really Get it. So to finish the symmetry here is the GetMasterVolume
implementation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data (#3219)
* Add a function to clone a sound and share data with another sound.
* rename items based on feedback
* PR Feedback, use custom unload for sound alias, not variant of normal sound unloading
|
|
|
|
|
|
rtextures `ExportImageAsCode()` (#3013)
* Update raudio.c
Review `raudio.c`: rewritten `ExportWaveAsCode()` to be more like rtextures.c `ExportImageAsCode()'
* no tab november
accidentally inserted a tab somewhere. corrected it.
|
|
|
|
|
|
* Add const qualifier to char * path argument
in qoa_open()
* Remove unnecessary cast
|
|
The `qoaplay_open()` function expects a `char *`, but we are passing in a `const char *`. While this works just fine, it does issue a compiler warning when strict:
```
src/raudio.c: In function ‘LoadMusicStream’:
src/raudio.c:1290:45: warning: passing argument 1 of ‘qoaplay_open’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
1290 | qoaplay_desc *ctxQoa = qoaplay_open(fileName);
| ^~~~~~~~
In file included from src/raudio.c:233:
src/external/qoaplay.c:86:34: note: expected ‘char *’ but argument is of type ‘const char *’
86 | qoaplay_desc *qoaplay_open(char *path)
| ~~~~~~^~~~
```
This change casts the argument to a `char *` to fix the warning.
|
|
|
|
|
|
|
|
It was quite restrictive and hacky implementation, just load multiple types same sound to play multiple instances.
|
|
|
|
Some format tweaks
|
|
|
|
It shouldn't matter much but it could avoid some conflicts with other libraries in the future (like `tinyfiledialogs`).
|
|
|
|
* Use RL_QUADS/RL_TRIANGLES for single-pixel drawing
Addresses problem mentioned in
https://github.com/raysan5/raylib/issues/2744#issuecomment-1273568263
(in short: when drawing pixels using DrawPixel{,V} in camera mode,
upscaled pixel becomes a line instead of bigger pixel)
* [rtextures] Fixed scaling down in ImageTextEx
Closes #2755
* Added global audio processor
* Renamed struct member to follow naming conventions
* Added example for AttachAudioMixedProcessor
|
|
* Fixed some grammar mistakes.
* Fixed some typos.
|
|
|