use crate::wire::{
DeviceUid, MultiviewerAspectRatio, MultiviewerBool, MultiviewerEdidTemplate,
MultiviewerHdcpMode, MultiviewerItcMode, MultiviewerOutputMode, MultiviewerPipPosition,
MultiviewerPipSize, MultiviewerSource, MultiviewerViewMode,
};
pub const MULTIVIEWER_INPUTS: usize = 4;
#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub struct MultiviewerStatus {
pub uid: DeviceUid,
pub mappings: [DeviceUid; MULTIVIEWER_INPUTS],
pub mcu_version: String,
pub scaler_version: String,
pub hw_view_mode: u8,
pub view_mode: MultiviewerViewMode,
pub pip_position: MultiviewerPipPosition,
pub pip_size: MultiviewerPipSize,
pub output_mode: MultiviewerOutputMode,
pub hdcp_mode: MultiviewerHdcpMode,
pub output_itc: MultiviewerItcMode,
pub edid_template: MultiviewerEdidTemplate,
pub aspect_ratio: MultiviewerAspectRatio,
pub auto_switch: MultiviewerBool,
pub audio_source: MultiviewerSource,
pub audio_volume: Option<u8>,
pub audio_muted: MultiviewerBool,
pub video_sources: [MultiviewerSource; MULTIVIEWER_INPUTS],
pub remote_control: MultiviewerSource,
}