Ryan C. Gordon
d29b861a76
wikiheaders: Allow blank lines in post-typedef `#define` blocks.
...
Reference Issue #9557 .
2024-04-25 14:26:49 -04:00
SDL Wiki Bot
47ff4addd4
Sync SDL3 wiki -> header
2024-04-25 06:37:31 +00:00
Ryan C. Gordon
2733345422
SDL_audio.h: Documentation updates.
2024-04-25 02:36:08 -04:00
Brick
edaab8ad9f
Refactored audio conversion to reduce copying
...
More of the logic has been moved into SDL_AudioQueue,
allowing data to be converted directly from the input buffer.
2024-04-15 11:47:18 -10:00
Ryan C. Gordon
0df988389c
include: Add `\since` to all documentation that was missing it.
2024-04-11 13:34:29 -04:00
SDL Wiki Bot
073d2378dc
Sync SDL3 wiki -> header
2024-04-11 12:59:41 +00:00
Ryan C. Gordon
9421a01400
SDL_AudioStreamCallback: Note that there's no _requirement_ to do anything.
...
This is as opposed to something like the SDL2 audio callback, where you
_must_ supply data or disaster occurs.
2024-04-11 08:56:10 -04:00
Ryan C. Gordon
407e54e188
include: More improved docs for the wikibridge!
2024-04-11 00:37:11 -04:00
Ryan C. Gordon
f121553082
include: Fixed up SDL_AudioFormat documentation.
...
(this is not currently bridged to the wiki, but will be soon!)
2024-04-10 18:45:29 -04:00
Ryan C. Gordon
e044318a8e
Sync SDL3 wiki -> headers
2024-04-09 00:50:03 -04:00
Ryan C. Gordon
ad090d2444
include: A ton of little documentation tweaks, fixes, and improvements.
...
This is just stuff I noticed while working on the wikiheaders updates. A
thorough pass over all the docs would not be terrible, and maybe a simple
script to check for consistency (does everything have a `\since` on it? etc)
might be nice, too.
2024-04-09 00:50:02 -04:00
Sam Lantinga
d8a54cd4f8
Updated "see also" references to be more consistent
...
Fixes https://github.com/libsdl-org/SDL/issues/9282
2024-03-17 12:28:11 -07:00
Ryan C. Gordon
5a21d87e69
rwops: Changed filenames that reference "rwops" to "iostream".
2024-03-14 23:30:59 -04:00
Ryan C. Gordon
6776b6108a
iostream: "free*" params should be "closeio".
2024-03-14 23:14:46 -04:00
Ryan C. Gordon
fc7afa9cbf
rwops: Renamed SDL_RWops to SDL_IOStream, and other related symbols.
2024-03-14 19:38:12 -04:00
Ryan C. Gordon
655ceb3b31
rwops: Renamed SDL_CreateRW and SDL_DestroyRW to SDL_OpenRW and SDL_CloseRW.
2024-03-14 19:37:01 -04:00
Ryan C. Gordon
525919b315
rwops: Reworked RWops for SDL3.
...
- SDL_RWops is now an opaque struct.
- SDL_AllocRW is gone. If an app is creating a custom RWops, they pass the
function pointers to SDL_CreateRW(), which are stored internally.
- SDL_RWclose is gone, there is only SDL_DestroyRW(), which calls the
implementation's `->close` method before freeing other things.
- There is only one path to create and use RWops now, so we don't have to
worry about whether `->close` will call SDL_DestroyRW, or if this will
risk any Properties not being released, etc.
- SDL_RWFrom* still works as expected, for getting a RWops without having
to supply your own implementation. Objects from these functions are also
destroyed with SDL_DestroyRW.
- Lots of other cleanup and SDL3ization of the library code.
2024-03-14 19:36:08 -04:00
Sam Lantinga
5b3ee51c6c
Updated copyright for 2024
2024-01-01 13:15:26 -08:00
Ryan C. Gordon
c53843a961
docs: Remove Doxygen `\brief` tags.
...
Doxygen and the wiki bridge don't need them; they'll both just use the first
line/sentence instead.
Fixes #8446 .
2023-11-06 10:26:06 -05:00
Ryan C. Gordon
1a8bf31a69
include: Fixing whitespace on SDL_MixAudioFormat.
2023-11-04 15:06:41 -04:00
SDL Wiki Bot
142366c837
Sync SDL3 wiki -> header
2023-10-19 14:03:06 +00:00
Sam Lantinga
b45a0d9016
Updated the documentation for SDL_LoadWAV_RW()
2023-10-17 20:27:49 -07:00
Ryan C. Gordon
ac71831350
Sync wiki -> headers
2023-10-12 15:20:53 -04:00
Sam Lantinga
4368f70ff9
Added properties to various SDL objects
...
The following objects now have properties that can be user modified:
* SDL_AudioStream
* SDL_Gamepad
* SDL_Joystick
* SDL_RWops
* SDL_Renderer
* SDL_Sensor
* SDL_Surface
* SDL_Texture
* SDL_Window
2023-10-11 22:38:00 -07:00
Ryan C. Gordon
a4541a255e
audio: SDL_GetAudioStreamQueued now returns bytes, not frames.
...
Reference #8266 .
2023-09-20 14:15:47 -04:00
Ryan C. Gordon
703aefbce0
Sync SDL3 wiki -> header
2023-09-20 14:08:32 -04:00
Ryan C. Gordon
34b931f7eb
audio: Added SDL_GetAudioStreamQueued
2023-09-20 10:15:03 -04:00
Sam Lantinga
9f17d1a9d8
Don't reference the same function in "see also"
2023-09-13 11:01:00 -07:00
Ozkan Sezer
86505ea630
fix SDL_AudioStreamCallback documentation
2023-09-13 18:35:30 +03:00
SDL Wiki Bot
d885d5c310
Sync SDL3 wiki -> header
2023-09-13 15:04:13 +00:00
Ryan C. Gordon
2f43f7bc53
audio: Allow querying of device buffer size.
2023-09-13 11:03:17 -04:00
Ryan C. Gordon
8b26e95f91
audio: Change SDL_AudioStreamCallback
...
Now it offers the total requested bytes in addition to the amount
immediately needed (and immediately needed might be zero if the stream
already has enough queued to satisfy the request.
2023-09-13 10:11:23 -04:00
Sam Lantinga
cd633b9a88
Renamed SDL_IsAudioDevicePaused() to SDL_AudioDevicePaused()
...
This aligns with the SDL3 convention of removing "Is" from self-explanatory function names
Also improved some documentation in SDL_audio.h
2023-09-12 12:11:09 -07:00
Ryan C. Gordon
a6e52f9e48
Sync SDL3 wiki -> header
2023-09-12 14:27:21 -04:00
Ryan C. Gordon
3a992af446
audio: Added a postmix callback to logical devices.
...
You can see it in action in testaudio by mousing over a logical device; it
will show a visualizer for the current PCM (whatever is currently being
recorded on a capture device, or whatever is being mixed for output on
playback devices).
Fixes #8122 .
2023-09-09 16:26:37 -04:00
Ryan C. Gordon
116b0ec977
include: minor tweak to audio API documentation
2023-09-07 10:45:45 -04:00
Brick
f2ca9a615b
Added SDL_AUDIO_FRAMESIZE
2023-09-05 17:56:58 -07:00
Brick
53122593f8
Added SDL_AUDIO_BYTESIZE
2023-09-05 17:56:58 -07:00
Sam Lantinga
3a932141e4
Restore audio format binary compatibility with SDL 2.0
2023-09-04 10:16:53 -07:00
Sam Lantinga
233789b0d1
Audio types have the same naming convention as other SDL endian types, e.g. [S|U][BITS][LE|BE]
...
Native endian types have no LE/BE suffix
2023-09-04 09:48:44 -07:00
SDL Wiki Bot
36b5f3e35c
Sync SDL3 wiki -> header
2023-09-04 14:47:15 +00:00
Brick
0e552761b7
Renamed AudioStreamSpeed to AudioStreamFrequencyRatio
2023-09-04 07:46:18 -07:00
Brick
e55844274d
Added SDL_(Get|Set)AudioStreamSpeed
2023-09-01 14:38:45 -04:00
Sam Lantinga
82db2b58f9
Renamed audio stream callback and moved the userdata parameter first
...
In general SDL API callbacks are called with the userdata paramter first, to mimic C++ method call convention
2023-08-27 14:43:21 -07:00
SDL Wiki Bot
5bdad5210f
Sync SDL3 wiki -> header
2023-08-27 20:55:12 +00:00
Ryan C. Gordon
58c859f64d
audio: Rename SDL_GetAudioStreamBinding to SDL_GetAudioStreamDevice.
2023-08-27 16:54:30 -04:00
Ryan C. Gordon
efd2023a72
audio: Fixed documentation.
2023-08-27 16:54:30 -04:00
Ryan C. Gordon
1e775e0eef
audio: Replace SDL_CreateAndBindAudioStream with SDL_OpenAudioDeviceStream.
...
This is meant to offer a simplified API for people that are either migrating
directly from SDL2 with minimal effort or just want to make noise without
any of the fancy new API features.
Users of this API can just deal with a single SDL_AudioStream as their only
object/handle into the audio subsystem.
They are still allowed to open multiple devices (or open the same device
multiple times), but cannot change stream bindings on logical devices opened
through this function.
Destroying the single audio stream will also close the logical device behind
the scenes.
2023-08-27 16:54:30 -04:00
Ryan C. Gordon
e7d56dd0b2
audio: Renamed new API SDL_UnpauseAudioDevice to SDL_ResumeAudioDevice.
2023-08-05 19:20:14 -04:00
SDL Wiki Bot
4bb426abad
Sync SDL3 wiki -> header
2023-08-05 17:45:14 +00:00
meyraud705
3a752ce650
Reapply "Changed 'freesrc' parameter from int to SDL_bool" to SDL_wave.c
...
Commit bea99d4 was partially reverted by 905c4ff "audio: First shot at the SDL3 audio subsystem redesign!"
2023-08-05 13:44:48 -04:00
SDL Wiki Bot
c0a88930bf
Sync SDL3 wiki -> header
2023-08-04 01:28:15 +00:00
Ryan C. Gordon
db39cbf208
audio: Allow SDL_GetAudioDeviceFormat() to query the default devices.
...
Officially removed SDL_GetDefaultAudioInfo(), as its functionality that
isn't obsolete is now offered elsewhere.
2023-07-30 11:55:55 -04:00
Ryan C. Gordon
464640440f
audio: Added SDL_GetAudioStreamBinding.
...
Now you can open a device, bind a stream, and forget about the device ID
until you're ready to shutdown, where you can query the stream for it.
2023-07-30 11:55:54 -04:00
Ryan C. Gordon
01f7b53865
audio: Readded (logical) device pausing.
2023-07-30 11:55:53 -04:00
Ryan C. Gordon
fd4c9f4e11
audio: documentation improvements.
2023-07-30 11:55:53 -04:00
Ryan C. Gordon
b2e020958f
audio: Wrap device access in opening of logical devices.
...
Now you open an audio device and attach streams, as planned, but each
open generates a new logical device. Each logical device has its own
streams that are managed as a group, but all streams on all logical
devices are mixed into a single buffer for a single OS-level open of
the physical device.
This allows multiple opens of a device that won't interfere with each
other and also clean up just what the opener assigned to their logical
device, so all their streams will go away on close but other opens will
continue to mix as they were.
More or less, this makes things work as expected at the app level, but
also gives them the power to group audio streams, and (once added) pause
them all at once, etc.
2023-07-30 11:55:53 -04:00
Ryan C. Gordon
3d65a2cefe
audio: Made SDL_LoadWAV a real function, not just a macro.
2023-07-30 11:55:52 -04:00
Ryan C. Gordon
26525f5fd3
audio: Readd SDL_AudioSpec, but just with format/channels/freq fields.
2023-07-30 11:55:52 -04:00
Ryan C. Gordon
e6aaed7d79
include: Audio is not, and has not been, a raw mixing buffer for a long time.
2023-07-30 11:55:52 -04:00
Ryan C. Gordon
56b1bc2198
audio: SDL_AudioStream now has callbacks for Get and Put operations.
...
This allows code to feed a stream (or feed from a stream) on-demand,
which is to say: it can efficiently simulate the SDL2 audio callback.
2023-07-30 11:55:51 -04:00
Ryan C. Gordon
905c4fff5b
audio: First shot at the SDL3 audio subsystem redesign!
...
This is a work in progress! (and this commit will probably get
force-pushed over at some point).
2023-07-30 11:55:51 -04:00
SDL Wiki Bot
550c84b4df
Sync SDL3 wiki -> header
2023-07-09 20:50:16 +00:00
Sam Lantinga
bea99d48f2
Changed 'freesrc' parameter from int to SDL_bool
2023-07-09 13:49:04 -07:00
Sylvain
627165a2b2
Fix comments
2023-06-22 15:44:48 +02:00
SDL Wiki Bot
9786d8ac40
Sync SDL3 wiki -> header
2023-05-09 18:27:15 +00:00
Ryan C. Gordon
2b6cb7bfb2
include: SDL_ConvertAudioSamples docs now warn about converting in chunks.
...
Fixes #7154 .
2023-05-09 14:24:22 -04:00
Brick
079ae065f1
Added SDL prefix AUDIO_* constants
2023-05-02 08:09:06 -07:00
SDL Wiki Bot
60c5888423
Sync SDL3 wiki -> header
2023-04-27 22:36:15 +00:00
Ryan C. Gordon
e5a6c24c82
audio: Redesigned audio conversion code for SDL3.
...
- SDL_AudioCVT is gone, even internally.
- libsamplerate is gone (I suspect our resampler is finally Good Enough).
- Cleanups and improvements to audio conversion interfaces.
- SDL_AudioStream can change its input/output format/rate/channels on the fly!
2023-04-27 18:35:15 -04:00
Anonymous Maarten
e1b8a03239
testsurround: fix channel names
...
Used table in include/SDL3/SDL_audio.h as reference.
2023-03-28 16:59:27 +00:00
Ryan C. Gordon
f48d0cc164
audio: Remove AUDIO_U16* support.
...
It wasn't heavily used, and you can't use memset to silence a U16 buffer.
Fixes #7380 .
2023-03-01 10:26:01 -05:00
Ryan C. Gordon
0598ecc150
Sync wiki -> headers.
2023-02-24 11:49:41 -05:00
Anonymous Maarten
549cedfa88
include: add \brief to includes
2023-02-19 10:01:33 -08:00
Sylvain
49e47b523a
Update `\returns` to the generic form
2023-02-12 08:21:02 -08:00
Sylvain
43c08170af
Add missing '\param' documentation
2023-02-12 09:42:13 +01:00
Sylvain
ce366facaa
Add missing \returns, change "return" to "returns" to have same naming
2023-02-12 09:22:25 +01:00
Sam Lantinga
5b77ad54c4
Fixed order and constness of parameters to SDL_ConvertAudioSamples()
2023-02-09 17:49:35 -08:00
Sylvain
e2e5e670bf
Remove returns int from Destroy/Close/Unlock functions
2023-02-09 07:57:14 -08:00
Linus Probert
3bd737d44c
Add error returns to void functions that can fail/set errors.
...
This takes care of the last set of void functions that could
potentially be shifted to instead return an int indicating success and
setting an error in case of an error.
2023-02-09 07:23:21 -08:00
Sylvain
b305d9e3c0
Change return type from void to int for audio function. Eventually set invalid parameter error.
2023-02-08 17:43:44 -08:00
Sylvain
c5c94a6be6
Change return type from void to int, for functions that set an error
...
(SDL_SetError(), SDL_OutOfMemory(), SDL_Unsupported(), SDL_InvalidParam())
Update prototype to forward errors to generic layer, for the functions:
MoveCursor, WarpMouse, GL_DeleteContext, GetDisplayModes.
Check invalid parameter in SDL_SetTextInputRect() generic layer.
2023-02-07 13:51:45 -08:00
Ryan C. Gordon
197340ea1c
Sync wiki -> headers.
2023-01-25 13:01:40 -05:00
Sylvain
052b14eb65
Add SDL_ConvertAudioSamples() helper function
2023-01-24 08:26:09 -08:00
Sylvain
64bc0a1612
Remove AudioCVT interface in favor of SDL_AudioStream
2023-01-22 11:31:30 -05:00
Sam Lantinga
fde78d12f2
Updated copyright for 2023
2023-01-09 09:41:41 -08:00
Sylvain
93e2903ac5
Add SDL_PlayAudioDevice() to play audio. Remove pause_on param from SDL_PauseAudioDevice()
2023-01-06 09:15:39 -08:00
Sylvain
2d7f8d7d51
Remove legacy SDL_Audio functions that acts on device id == 1
2023-01-05 09:40:06 -05:00
Sam Lantinga
701e965235
Removed leading underscore in structure names
...
Fixes https://github.com/libsdl-org/SDL/issues/6856
Closes https://github.com/libsdl-org/SDL/pull/6914
Closes https://github.com/libsdl-org/SDL/pull/6915
Closes https://github.com/libsdl-org/SDL/pull/6916
Closes https://github.com/libsdl-org/SDL/pull/6917
Closes https://github.com/libsdl-org/SDL/pull/6918
Closes https://github.com/libsdl-org/SDL/pull/6919
2022-12-27 10:35:53 -08:00
Sam Lantinga
713ba2e31a
SDL API renaming: SDL_audio.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6879
2022-12-27 05:32:55 -08:00
Sam Lantinga
9625fb2832
Documentation cleanup
2022-12-27 05:28:18 -08:00
Sylvain Becker
47170d288e
Don't export SDL_AudioInit/Quit, use SDL_InitSubsystem instead ( #6912 )
...
* Don't export SDL_AudioInit/Quit, use SDL_InitSubsystem instead
* Update README
Co-authored-by: Sam Lantinga <slouken@libsdl.org>
2022-12-27 05:22:22 -08:00
Sylvain
3fb0c8b54a
Remove/Rename SDL_FreeWAV() to SDL_free()
2022-12-27 05:14:52 -08:00
Sam Lantinga
63724c113b
Removed the vi format comments from the source
...
Vim users can use the [editorconfig plugin](https://github.com/editorconfig/editorconfig-vim ) to automatically set tab spacing for the SDL coding style.
Fixes https://github.com/libsdl-org/SDL/issues/6903
2022-12-26 11:17:23 -08:00
Ryan C. Gordon
3197632347
include: Renamed begin_code.h and close_code.h to have SDL_ prefixes.
...
Fixes #6864 .
2022-12-22 11:39:26 -05:00
Ozkan Sezer
d6327a00fb
re-applied the SDL_NewAudioStream deconstification, including to its definition
...
we should keep this to SDL3 only.
2022-12-04 20:50:20 +03:00
Ozkan Sezer
25e62193f4
just revert the const removal from SDL_NewAudioStream in commit d0bbfdb
2022-12-04 12:56:50 +03:00
Pierre Wendling
3c501b963d
Clang-Tidy fixes ( #6725 )
2022-12-01 13:07:03 -08:00
Sam Lantinga
0a48abc860
Switch header convention from `#include "SDL.h"` to `#include <SDL3/SDLh>`
...
I ran this script in the include directory:
```sh
sed -i '' -e 's,#include "\(SDL.*\)",#include <SDL3/\1>,' *.h
```
I ran this script in the src directory:
```sh
for i in ../include/SDL3/SDL*.h
do hdr=$(basename $i)
if [ x"$(echo $hdr | egrep 'SDL_main|SDL_name|SDL_test|SDL_syswm|SDL_opengl|SDL_egl|SDL_vulkan')" != x ]; then
find . -type f -exec sed -i '' -e 's,#include "\('$hdr'\)",#include <SDL3/\1>,' {} \;
else
find . -type f -exec sed -i '' -e '/#include "'$hdr'"/d' {} \;
fi
done
```
Fixes https://github.com/libsdl-org/SDL/issues/6575
2022-11-26 22:15:18 -08:00