2023-02-08 18:12:00 +01:00
|
|
|
/* Simple Plugin API */
|
|
|
|
|
/* SPDX-FileCopyrightText: Copyright © 2018 Wim Taymans */
|
|
|
|
|
/* SPDX-License-Identifier: MIT */
|
2016-06-28 12:21:56 +02:00
|
|
|
|
2019-01-14 12:58:23 +01:00
|
|
|
#ifndef SPA_PARAM_PROPS_H
|
|
|
|
|
#define SPA_PARAM_PROPS_H
|
2016-06-28 12:21:56 +02:00
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
2021-05-21 14:03:07 +10:00
|
|
|
/**
|
|
|
|
|
* \addtogroup spa_param
|
|
|
|
|
* \{
|
|
|
|
|
*/
|
|
|
|
|
|
2017-11-10 13:36:14 +01:00
|
|
|
#include <spa/param/param.h>
|
2017-02-27 21:25:33 +01:00
|
|
|
|
2018-08-27 15:03:11 +02:00
|
|
|
/** properties of SPA_TYPE_OBJECT_PropInfo */
|
2018-08-23 17:47:57 +02:00
|
|
|
enum spa_prop_info {
|
2020-07-01 15:27:55 +02:00
|
|
|
SPA_PROP_INFO_START,
|
2018-08-23 17:47:57 +02:00
|
|
|
SPA_PROP_INFO_id, /**< associated id of the property */
|
|
|
|
|
SPA_PROP_INFO_name, /**< name of the property */
|
|
|
|
|
SPA_PROP_INFO_type, /**< type and range/enums of property */
|
|
|
|
|
SPA_PROP_INFO_labels, /**< labels of property if any, this is a
|
|
|
|
|
* struct with pairs of values, the first one
|
|
|
|
|
* is of the type of the property, the second
|
|
|
|
|
* one is a string with a user readable label
|
|
|
|
|
* for the value. */
|
2021-05-09 21:13:30 +02:00
|
|
|
SPA_PROP_INFO_container, /**< type of container if any (Id) */
|
|
|
|
|
SPA_PROP_INFO_params, /**< is part of params property (Bool) */
|
2021-11-30 17:40:56 +01:00
|
|
|
SPA_PROP_INFO_description, /**< User readable description */
|
2018-08-23 17:47:57 +02:00
|
|
|
};
|
2016-10-07 13:14:32 +02:00
|
|
|
|
2018-08-27 15:03:11 +02:00
|
|
|
/** predefined properties for SPA_TYPE_OBJECT_Props */
|
2018-08-23 17:47:57 +02:00
|
|
|
enum spa_prop {
|
2020-07-01 15:27:55 +02:00
|
|
|
SPA_PROP_START,
|
2018-02-07 18:08:16 +01:00
|
|
|
|
2018-08-27 15:03:11 +02:00
|
|
|
SPA_PROP_unknown, /**< an unknown property */
|
2018-02-07 18:08:16 +01:00
|
|
|
|
2018-10-15 17:53:14 +02:00
|
|
|
SPA_PROP_START_Device = 0x100, /**< device related properties */
|
2018-08-23 17:47:57 +02:00
|
|
|
SPA_PROP_device,
|
|
|
|
|
SPA_PROP_deviceName,
|
|
|
|
|
SPA_PROP_deviceFd,
|
|
|
|
|
SPA_PROP_card,
|
|
|
|
|
SPA_PROP_cardName,
|
2018-02-07 18:08:16 +01:00
|
|
|
|
2018-08-23 17:47:57 +02:00
|
|
|
SPA_PROP_minLatency,
|
|
|
|
|
SPA_PROP_maxLatency,
|
|
|
|
|
SPA_PROP_periods,
|
|
|
|
|
SPA_PROP_periodSize,
|
|
|
|
|
SPA_PROP_periodEvent,
|
|
|
|
|
SPA_PROP_live,
|
2018-11-16 16:48:49 +01:00
|
|
|
SPA_PROP_rate,
|
2020-02-14 20:16:50 +01:00
|
|
|
SPA_PROP_quality,
|
2021-03-22 20:41:46 +02:00
|
|
|
SPA_PROP_bluetoothAudioCodec,
|
2022-10-01 15:46:27 +03:00
|
|
|
SPA_PROP_bluetoothOffloadActive,
|
2016-06-28 12:21:56 +02:00
|
|
|
|
2018-10-15 17:53:14 +02:00
|
|
|
SPA_PROP_START_Audio = 0x10000, /**< audio related properties */
|
2018-08-23 17:47:57 +02:00
|
|
|
SPA_PROP_waveType,
|
|
|
|
|
SPA_PROP_frequency,
|
2023-07-17 17:46:04 +02:00
|
|
|
SPA_PROP_volume, /**< a volume (Float), 0.0 silence, 1.0 no attenutation */
|
2020-07-07 13:12:57 +02:00
|
|
|
SPA_PROP_mute, /**< mute (Bool) */
|
2018-08-23 17:47:57 +02:00
|
|
|
SPA_PROP_patternType,
|
|
|
|
|
SPA_PROP_ditherType,
|
|
|
|
|
SPA_PROP_truncate,
|
2023-11-04 09:51:14 +01:00
|
|
|
SPA_PROP_channelVolumes, /**< a volume array, one (linear) volume per channel
|
2023-07-17 17:46:04 +02:00
|
|
|
* (Array of Float). 0.0 is silence, 1.0 is
|
2023-11-04 09:51:14 +01:00
|
|
|
* without attenuation. This is the effective
|
|
|
|
|
* volume that is applied. It can result
|
|
|
|
|
* in a hardware volume and software volume
|
|
|
|
|
* (see softVolumes) */
|
2020-07-07 13:12:57 +02:00
|
|
|
SPA_PROP_volumeBase, /**< a volume base (Float) */
|
|
|
|
|
SPA_PROP_volumeStep, /**< a volume step (Float) */
|
2020-11-23 15:28:24 +01:00
|
|
|
SPA_PROP_channelMap, /**< a channelmap array
|
|
|
|
|
* (Array (Id enum spa_audio_channel)) */
|
2021-02-05 17:11:58 +01:00
|
|
|
SPA_PROP_monitorMute, /**< mute (Bool) */
|
2023-11-04 09:51:14 +01:00
|
|
|
SPA_PROP_monitorVolumes, /**< a volume array, one (linear) volume per
|
2021-02-05 17:11:58 +01:00
|
|
|
* channel (Array of Float) */
|
2021-02-13 22:59:04 +02:00
|
|
|
SPA_PROP_latencyOffsetNsec, /**< delay adjustment */
|
2023-07-17 17:46:04 +02:00
|
|
|
SPA_PROP_softMute, /**< mute (Bool) applied in software */
|
2023-11-04 09:51:14 +01:00
|
|
|
SPA_PROP_softVolumes, /**< a volume array, one (linear) volume per channel
|
2023-07-17 17:46:04 +02:00
|
|
|
* (Array of Float). 0.0 is silence, 1.0 is without
|
2023-11-04 09:51:14 +01:00
|
|
|
* attenuation. This is the volume applied in
|
|
|
|
|
* software, there might be a part applied in
|
|
|
|
|
* hardware. */
|
2018-08-23 17:47:57 +02:00
|
|
|
|
2021-08-10 09:17:58 +02:00
|
|
|
SPA_PROP_iec958Codecs, /**< enabled IEC958 (S/PDIF) codecs,
|
|
|
|
|
* (Array (Id enum spa_audio_iec958_codec) */
|
2023-04-03 21:30:11 +02:00
|
|
|
SPA_PROP_volumeRampSamples, /**< Samples to ramp the volume over */
|
|
|
|
|
SPA_PROP_volumeRampStepSamples, /**< Step or incremental Samples to ramp
|
|
|
|
|
* the volume over */
|
|
|
|
|
SPA_PROP_volumeRampTime, /**< Time in millisec to ramp the volume over */
|
|
|
|
|
SPA_PROP_volumeRampStepTime, /**< Step or incremental Time in nano seconds
|
|
|
|
|
* to ramp the */
|
|
|
|
|
SPA_PROP_volumeRampScale, /**< the scale or graph to used to ramp the
|
|
|
|
|
* volume */
|
2021-08-10 09:17:58 +02:00
|
|
|
|
2018-10-15 17:53:14 +02:00
|
|
|
SPA_PROP_START_Video = 0x20000, /**< video related properties */
|
2018-08-23 17:47:57 +02:00
|
|
|
SPA_PROP_brightness,
|
|
|
|
|
SPA_PROP_contrast,
|
|
|
|
|
SPA_PROP_saturation,
|
|
|
|
|
SPA_PROP_hue,
|
|
|
|
|
SPA_PROP_gamma,
|
|
|
|
|
SPA_PROP_exposure,
|
|
|
|
|
SPA_PROP_gain,
|
|
|
|
|
SPA_PROP_sharpness,
|
|
|
|
|
|
2021-05-09 21:13:30 +02:00
|
|
|
SPA_PROP_START_Other = 0x80000, /**< other properties */
|
|
|
|
|
SPA_PROP_params, /**< simple control params
|
|
|
|
|
* (Struct(
|
|
|
|
|
* (String : key,
|
|
|
|
|
* Pod : value)*)) */
|
|
|
|
|
|
|
|
|
|
|
2018-10-15 17:53:14 +02:00
|
|
|
SPA_PROP_START_CUSTOM = 0x1000000,
|
2018-08-23 17:47:57 +02:00
|
|
|
};
|
2018-02-07 18:08:16 +01:00
|
|
|
|
2021-05-21 14:03:07 +10:00
|
|
|
/**
|
|
|
|
|
* \}
|
|
|
|
|
*/
|
|
|
|
|
|
2016-06-28 12:21:56 +02:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
} /* extern "C" */
|
|
|
|
|
#endif
|
|
|
|
|
|
2019-01-14 12:58:23 +01:00
|
|
|
#endif /* SPA_PARAM_PROPS_H */
|