mx-remote 9.1.0

Client library for Pulse-Eight MatrixOS devices over UDP multicast/broadcast
Documentation
// Author: Lars Op den Kamp (lars@opdenkamp-it.nl)
// Copyright (c) 2026 Op den Kamp IT Solutions

//! Data structures carried in frame payloads.

mod amp;
mod audio;
mod commands;
mod multiviewer;
mod network;
mod osd;
mod status;
mod unit;
mod v2ip;

pub use amp::{
    AmpDolbySettings, AmpZoneSettings, AMP_EQ_BANDS, AMP_TONE_FLAT, AMP_TONE_HTTP_MAX,
    AMP_TONE_HTTP_MIN,
};
pub use audio::{AudioEndpoint, AudioEndpoints, AudioFeatures, AudioLink};
pub use commands::{
    ActionTransmitRequest, AudioChangeSource, AudioClip, BayNameChange, EdidProfileChange,
    EdidRecord, EdidRequest, FactoryResetRequest, IrCapture, IrMeta, IrTransmitRequest,
    KeyTransmitRequest, MultiviewerCommand, RcSettings, RebootRequest, SetRouteRequest,
    V2ipBlacklistChange, V2ipPowerSaveRequest, V2ipTilingConfig, VideoWallCommand, VideoWallOp,
    VideoWallWindow, VIDEO_WALL_CLEARED, VIDEO_WALL_MIN_SIZE, VIDEO_WALL_POS_ALIGN,
    VIDEO_WALL_WIDTH_ALIGN,
};
pub use multiviewer::{MultiviewerStatus, MULTIVIEWER_INPUTS};
pub use network::{MacAddress, NetworkPortStatus, UtpCableStatus, UtpLinkErrors, VctStatus};
pub use osd::{
    OsdCaption, OsdLogo, OsdMessage, OsdSync, OsdSyncContent, OsdSyncEntry, OsdSyncImage,
    OsdSyncReport, OsdSyncRequest, OsdSyncSetting, OsdSyncSlot, OsdSyncValue, OSD_MESSAGE_TEXT_MAX,
    OSD_SYNC_FONT_MAX, OSD_SYNC_IMAGE_HEIGHT_MAX, OSD_SYNC_IMAGE_MAX, OSD_SYNC_IMAGE_WIDTH_MAX,
    OSD_SYNC_PERCENT_MAX, OSD_SYNC_RECORDS_MAX, OSD_SYNC_SLOTS, OSD_SYNC_TEXT_MAX,
};
pub use status::{
    ArcStatus, BayAudioDetails, BayContentField, BayMirrorStatus, BaySignalDetails, ConnectStatus,
    DeviceStatus, FirmwareVersion, HiddenStatus, MuteStatus, PowerStatus, TimeZone, TopologyEntry,
    VolumeMuteStatus, BAY_CONTENT_KEY_MAX, BAY_CONTENT_VALUE_MAX, VOLUME_UNCHANGED,
};
pub use unit::{
    UnitCommand, UnitNetConfig, UnitStatus, UNIT_MAX_TEMPERATURES, UNIT_POWER_SAVE_LEVELS,
};
pub use v2ip::{
    DeviceV2ipDetails, DeviceV2ipSink, StreamKind, V2ipAudioFormat, V2ipDecoderDetail,
    V2ipDecoderFormat, V2ipDecoderReason, V2ipDecoderReport, V2ipDecoderState, V2ipDeviceSettings,
    V2ipDeviceStats, V2ipDownmix, V2ipDscpConfig, V2ipOutputMode, V2ipPowerSaveSchedule,
    V2ipPrivacy, V2ipPrivacyStream, V2ipPtpMessages, V2ipPtpState, V2ipRoute, V2ipRouteTarget,
    V2ipRxStats, V2ipScalingSettings, V2ipSinkSdp, V2ipStreamSource, V2ipStreamSources,
    V2ipTestSync, V2ipTestTone, V2ipTestcard, V2ipTxStats, V2ipVlan, SCALING_FLAGS_DEFINED,
    SCALING_FLAG_AUTO_SCALING, SCALING_FLAG_MATCH_SOURCE, SCALING_FLAG_MODE_VALID,
    SCALING_FLAG_OPTIONS2_VALID, SCALING_FLAG_OPTIONS_VALID, SCALING_FLAG_SKIP_420,
    V2IP_DOWNMIX_LFE_MAX, V2IP_MINUTES_PER_DAY, V2IP_PTP_DOMAIN_MAX, V2IP_SCALING_REFRESH_MAX,
    V2IP_SCALING_REFRESH_MIN, V2IP_SDP_MAX, V2IP_SINK_ROTATION_MAX, V2IP_STREAM_TTL_DEFAULT,
    V2IP_SYNC_BEEP_MS_MAX, V2IP_SYNC_BEEP_MS_MIN, V2IP_SYNC_OFFSET_MAX, V2IP_TONE_CHANNELS_MAX,
    V2IP_TONE_FREQ_MAX, V2IP_TONE_FREQ_MIN, V2IP_TONE_LEVEL_MIN, V2IP_TONE_RATES, V2IP_VLAN_ID_MAX,
    V2IP_VLAN_PORTS, V2IP_VLAN_PORT_SFP,
};

pub(crate) use v2ip::parse_dscp;