Commit 9ce58044 authored by David Reid's avatar David Reid

Update documentation.

parent 4c409c82
...@@ -4192,30 +4192,91 @@ ma_bool32 ma_device_is_started(ma_device* pDevice); ...@@ -4192,30 +4192,91 @@ ma_bool32 ma_device_is_started(ma_device* pDevice);
/* /*
Sets the master volume factor for the device. Sets the master volume factor for the device.
The volume factor must be between 0 (silence) and 1 (full volume). Use ma_device_set_master_gain_db() to The volume factor must be between 0 (silence) and 1 (full volume). Use `ma_device_set_master_gain_db()` to use decibel notation, where 0 is full volume and
use decibel notation, where 0 is full volume. values less than 0 decreases the volume.
This applies the volume factor across all channels.
This does not change the operating system's volume. It only affects the volume for the given ma_device Parameters
object's audio stream. ----------
pDevice (in)
A pointer to the device whose volume is being set.
volume (in)
The new volume factor. Must be within the range of [0, 1].
Return Value Return Value
------------ ------------
MA_SUCCESS if the volume was set successfully. MA_SUCCESS if the volume was set successfully.
MA_INVALID_ARGS if pDevice is NULL. MA_INVALID_ARGS if pDevice is NULL.
MA_INVALID_ARGS if the volume factor is not within the range of [0, 1]. MA_INVALID_ARGS if the volume factor is not within the range of [0, 1].
Thread Safety
-------------
Safe. This just sets a local member of the device object.
Callback Safety
---------------
Safe. If you set the volume in the data callback, that data written to the output buffer will have the new volume applied.
Remarks
-------
This applies the volume factor across all channels.
This does not change the operating system's volume. It only affects the volume for the given `ma_device` object's audio stream.
See Also
--------
ma_device_get_master_volume()
ma_device_set_master_volume_gain_db()
ma_device_get_master_volume_gain_db()
*/ */
ma_result ma_device_set_master_volume(ma_device* pDevice, float volume); ma_result ma_device_set_master_volume(ma_device* pDevice, float volume);
/* /*
Retrieves the master volume factor for the device. Retrieves the master volume factor for the device.
Parameters
----------
pDevice (in)
A pointer to the device whose volume factor is being retrieved.
pVolume (in)
A pointer to the variable that will receive the volume factor. The returned value will be in the range of [0, 1].
Return Value Return Value
------------ ------------
MA_SUCCESS if successful. MA_SUCCESS if successful.
MA_INVALID_ARGS if pDevice is NULL. MA_INVALID_ARGS if pDevice is NULL.
MA_INVALID_ARGS if pVolume is NULL. MA_INVALID_ARGS if pVolume is NULL.
Thread Safety
-------------
Safe. This just a simple member retrieval.
Callback Safety
---------------
Safe.
Remarks
-------
If an error occurs, `*pVolume` will be set to 0.
See Also
--------
ma_device_set_master_volume()
ma_device_set_master_volume_gain_db()
ma_device_get_master_volume_gain_db()
*/ */
ma_result ma_device_get_master_volume(ma_device* pDevice, float* pVolume); ma_result ma_device_get_master_volume(ma_device* pDevice, float* pVolume);
...@@ -4224,27 +4285,88 @@ Sets the master volume for the device as gain in decibels. ...@@ -4224,27 +4285,88 @@ Sets the master volume for the device as gain in decibels.
A gain of 0 is full volume, whereas a gain of < 0 will decrease the volume. A gain of 0 is full volume, whereas a gain of < 0 will decrease the volume.
This applies the gain across all channels.
This does not change the operating system's volume. It only affects the volume for the given ma_device Parameters
object's audio stream. ----------
pDevice (in)
A pointer to the device whose gain is being set.
gainDB (in)
The new volume as gain in decibels. Must be less than or equal to 0, where 0 is full volume and anything less than 0 decreases the volume.
Return Value Return Value
------------ ------------
MA_SUCCESS if the volume was set successfully. MA_SUCCESS if the volume was set successfully.
MA_INVALID_ARGS if pDevice is NULL. MA_INVALID_ARGS if pDevice is NULL.
MA_INVALID_ARGS if the gain is > 0. MA_INVALID_ARGS if the gain is > 0.
Thread Safety
-------------
Safe. This just sets a local member of the device object.
Callback Safety
---------------
Safe. If you set the volume in the data callback, that data written to the output buffer will have the new volume applied.
Remarks
-------
This applies the gain across all channels.
This does not change the operating system's volume. It only affects the volume for the given `ma_device` object's audio stream.
See Also
--------
ma_device_get_master_volume_gain_db()
ma_device_set_master_volume()
ma_device_get_master_volume()
*/ */
ma_result ma_device_set_master_gain_db(ma_device* pDevice, float gainDB); ma_result ma_device_set_master_gain_db(ma_device* pDevice, float gainDB);
/* /*
Retrieves the master gain in decibels. Retrieves the master gain in decibels.
Parameters
----------
pDevice (in)
A pointer to the device whose gain is being retrieved.
pGainDB (in)
A pointer to the variable that will receive the gain in decibels. The returned value will be <= 0.
Return Value Return Value
------------ ------------
MA_SUCCESS if successful. MA_SUCCESS if successful.
MA_INVALID_ARGS if pDevice is NULL. MA_INVALID_ARGS if pDevice is NULL.
MA_INVALID_ARGS if pGainDB is NULL. MA_INVALID_ARGS if pGainDB is NULL.
Thread Safety
-------------
Safe. This just a simple member retrieval.
Callback Safety
---------------
Safe.
Remarks
-------
If an error occurs, `*pGainDB` will be set to 0.
See Also
--------
ma_device_set_master_volume_gain_db()
ma_device_set_master_volume()
ma_device_get_master_volume()
*/ */
ma_result ma_device_get_master_gain_db(ma_device* pDevice, float* pGainDB); ma_result ma_device_get_master_gain_db(ma_device* pDevice, float* pGainDB);
...@@ -28453,7 +28575,12 @@ ma_result ma_device_set_master_volume(ma_device* pDevice, float volume) ...@@ -28453,7 +28575,12 @@ ma_result ma_device_set_master_volume(ma_device* pDevice, float volume)
ma_result ma_device_get_master_volume(ma_device* pDevice, float* pVolume) ma_result ma_device_get_master_volume(ma_device* pDevice, float* pVolume)
{ {
if (pDevice == NULL || pVolume == NULL) { if (pVolume == NULL) {
return MA_INVALID_ARGS;
}
if (pDevice == NULL) {
*pVolume = 0;
return MA_INVALID_ARGS; return MA_INVALID_ARGS;
} }
...@@ -28482,6 +28609,7 @@ ma_result ma_device_get_master_gain_db(ma_device* pDevice, float* pGainDB) ...@@ -28482,6 +28609,7 @@ ma_result ma_device_get_master_gain_db(ma_device* pDevice, float* pGainDB)
result = ma_device_get_master_volume(pDevice, &factor); result = ma_device_get_master_volume(pDevice, &factor);
if (result != MA_SUCCESS) { if (result != MA_SUCCESS) {
*pGainDB = 0;
return result; return result;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment