|
sACN
HEAD (unstable)
Implementation of ANSI E1.31 (Streaming ACN)
|
View other versions:
|
sACN Source API definitions More...
#include <stdbool.h>#include <stddef.h>#include <stdint.h>#include "etcpal/error.h"#include "etcpal/inet.h"#include "etcpal/uuid.h"#include "sacn/common.h"Go to the source code of this file.
Classes | |
| struct | SacnSourceConfig |
| A set of configuration information for a sACN source. More... | |
| struct | SacnSourceUniverseConfig |
| A set of configuration information for a sACN universe. More... | |
| struct | SacnSourceUniverseNetintList |
| A set of network interfaces for a particular universe. More... | |
Macros | |
| #define | SACN_SOURCE_CONFIG_DEFAULT_INIT |
| A default-value initializer for an SacnSourceConfig struct. | |
| #define | SACN_SOURCE_UNIVERSE_CONFIG_DEFAULT_INIT {0, 100, false, false, NULL, 0, 0} |
| A default-value initializer for an SacnSourceUniverseConfig struct. | |
Enumerations | |
| enum | { kSacnSourceInfiniteUniverses = 0 , kSacnSourceKeepAliveIntervalDefault = 800 , kSacnSourcePapKeepAliveIntervalDefault = 1000 } |
| enum | sacn_source_tick_mode_t { kSacnSourceTickModeProcessLevelsOnly , kSacnSourceTickModeProcessPapOnly , kSacnSourceTickModeProcessLevelsAndPap } |
| This enum determines the type of start code (levels and/or PAP) to process/transmit in a source tick. More... | |
Functions | |
| void | sacn_source_config_init (SacnSourceConfig *config) |
| Initialize an sACN Source Config struct to default values. | |
| void | sacn_source_universe_config_init (SacnSourceUniverseConfig *config) |
| Initialize an sACN Source Universe Config struct to default values. | |
| etcpal_error_t | sacn_source_create (const SacnSourceConfig *config, sacn_source_t *handle) |
| Create a new sACN source to send sACN data. | |
| void | sacn_source_destroy (sacn_source_t handle) |
| Destroy an sACN source instance. | |
| etcpal_error_t | sacn_source_change_name (sacn_source_t handle, const char *new_name) |
| Change the name of an sACN source. | |
| etcpal_error_t | sacn_source_add_universe (sacn_source_t handle, const SacnSourceUniverseConfig *config, const SacnNetintConfig *netint_config) |
| Add a universe to an sACN source. | |
| void | sacn_source_remove_universe (sacn_source_t handle, uint16_t universe) |
| Remove a universe from a source. | |
| size_t | sacn_source_get_universes (sacn_source_t handle, uint16_t *universes, size_t universes_size) |
| Obtain a list of a source's universes (sorted lowest to highest). | |
| etcpal_error_t | sacn_source_add_unicast_destination (sacn_source_t handle, uint16_t universe, const EtcPalIpAddr *dest) |
| Add a unicast destination for a source's universe. | |
| void | sacn_source_remove_unicast_destination (sacn_source_t handle, uint16_t universe, const EtcPalIpAddr *dest) |
| Remove a unicast destination on a source's universe. | |
| size_t | sacn_source_get_unicast_destinations (sacn_source_t handle, uint16_t universe, EtcPalIpAddr *destinations, size_t destinations_size) |
| Obtain a list of a universe's unicast destinations. | |
| etcpal_error_t | sacn_source_change_priority (sacn_source_t handle, uint16_t universe, uint8_t new_priority) |
| Change the priority of a universe on a sACN source. | |
| etcpal_error_t | sacn_source_change_preview_flag (sacn_source_t handle, uint16_t universe, bool new_preview_flag) |
| Change the send_preview option on a universe of a sACN source. | |
| etcpal_error_t | sacn_source_change_synchronization_universe (sacn_source_t handle, uint16_t universe, uint16_t new_sync_universe) |
| Changes the synchronization universe for a universe of a sACN source. | |
| etcpal_error_t | sacn_source_send_now (sacn_source_t handle, uint16_t universe, uint8_t start_code, const uint8_t *buffer, size_t buflen) |
| Immediately sends the provided sACN start code & data. | |
| etcpal_error_t | sacn_source_send_synchronization (sacn_source_t handle, uint16_t universe) |
| Indicate that a new synchronization packet should be sent on the given synchronization universe. | |
| void | sacn_source_update_levels (sacn_source_t handle, uint16_t universe, const uint8_t *new_levels, size_t new_levels_size) |
| Copies the universe's DMX levels into the packet to be sent on the next threaded or manual update. | |
| void | sacn_source_update_levels_and_pap (sacn_source_t handle, uint16_t universe, const uint8_t *new_levels, size_t new_levels_size, const uint8_t *new_priorities, size_t new_priorities_size) |
| Copies the universe's DMX levels and per-address priorities into packets that are sent on the next threaded or manual update. | |
| void | sacn_source_update_levels_and_force_sync (sacn_source_t handle, uint16_t universe, const uint8_t *new_levels, size_t new_levels_size) |
| Like sacn_source_update_levels(), but also sets the force_sync flag on the packet. | |
| void | sacn_source_update_levels_and_pap_and_force_sync (sacn_source_t handle, uint16_t universe, const uint8_t *new_levels, size_t new_levels_size, const uint8_t *new_priorities, size_t new_priorities_size) |
| Like sacn_source_update_levels_and_pap(), but also sets the force_sync flag on the packet. | |
| int | sacn_source_process_manual (sacn_source_tick_mode_t tick_mode) |
| Trigger the transmission of sACN packets for all universes of sources that were created with manually_process_source set to true. | |
| etcpal_error_t | sacn_source_reset_networking (const SacnNetintConfig *sys_netint_config) |
| Resets the underlying network sockets for all universes of all sources. | |
| etcpal_error_t | sacn_source_reset_networking_per_universe (const SacnNetintConfig *sys_netint_config, const SacnSourceUniverseNetintList *per_universe_netint_lists, size_t num_per_universe_netint_lists) |
| Resets the underlying network sockets and determines network interfaces for each universe of each source. | |
| size_t | sacn_source_get_network_interfaces (sacn_source_t handle, uint16_t universe, EtcPalMcastNetintId *netints, size_t netints_size) |
| Obtain a list of a universe's network interfaces. | |
Variables | |
| static const sacn_source_t | kSacnSourceInvalid = -1 |
| An invalid sACN source handle value. | |
sACN Source API definitions
Functions and definitions for the sACN Source API are contained in this header.