#[repr(C)]pub struct mxr_callbacks_t {Show 75 fields
pub on_device_update: mxr_device_cb,
pub on_bay_update: mxr_bay_cb,
pub on_device_config_changed: mxr_device_cb,
pub on_device_config_complete: mxr_device_cb,
pub on_device_online_changed: mxr_device_bool_cb,
pub on_device_temperature_changed: mxr_device_cb,
pub on_firmware_version_changed: mxr_device_cb,
pub on_system_status_changed: mxr_system_status_cb,
pub on_network_status_changed: mxr_device_cb,
pub on_v2ip_stats_changed: mxr_device_cb,
pub on_v2ip_sources_changed: mxr_device_cb,
pub on_v2ip_details_changed: mxr_device_cb,
pub on_v2ip_sink_changed: mxr_device_cb,
pub on_multiviewer_status_changed: mxr_device_cb,
pub on_audio_endpoints_changed: mxr_device_cb,
pub on_mesh_master_changed: mxr_device_uid_cb,
pub on_topology_changed: mxr_device_cb,
pub on_amp_dolby_settings_changed: mxr_device_cb,
pub on_setup_status_changed: mxr_device_bool_cb,
pub on_installer_id_changed: mxr_device_u16_cb,
pub on_tiling_changed: mxr_device_cb,
pub on_rc_settings_changed: mxr_device_cb,
pub on_v2ip_link_changed: mxr_device_uid_cb,
pub on_multiviewer_command: mxr_multiviewer_command_cb,
pub on_audio_select_input: mxr_audio_select_cb,
pub on_audio_endpoint_mute: mxr_endpoint_bool_cb,
pub on_audio_endpoint_trigger: mxr_endpoint_bool_cb,
pub on_audio_endpoint_volume: mxr_endpoint_u32_cb,
pub on_discover_request: mxr_device_cb,
pub on_set_route_requested: mxr_set_route_cb,
pub on_edid_requested: mxr_edid_request_cb,
pub on_edid_received: mxr_edid_record_cb,
pub on_bay_name_change_requested: mxr_bay_name_change_cb,
pub on_edid_profile_change_requested: mxr_edid_profile_change_cb,
pub on_reboot_requested: mxr_device_uid_cb,
pub on_factory_reset_requested: mxr_factory_reset_cb,
pub on_monitoring_pulse: mxr_device_cb,
pub on_upgrade_fpga_requested: mxr_device_cb,
pub on_detect_bays_requested: mxr_device_cb,
pub on_power_save_requested: mxr_power_save_cb,
pub on_key_transmit_requested: mxr_key_transmit_cb,
pub on_action_transmit_requested: mxr_action_transmit_cb,
pub on_ir_transmit_requested: mxr_ir_transmit_cb,
pub on_blacklist_changed: mxr_blacklist_cb,
pub on_video_wall_command: mxr_video_wall_cb,
pub on_bay_registered: mxr_bay_cb,
pub on_video_source_changed: mxr_bay_bay_cb,
pub on_audio_source_changed: mxr_bay_bay_cb,
pub on_volume_changed: mxr_volume_cb,
pub on_power_changed: mxr_power_cb,
pub on_name_changed: mxr_bay_str_cb,
pub on_signal_detected_changed: mxr_bay_bool_cb,
pub on_faulty_changed: mxr_bay_bool_cb,
pub on_hidden_changed: mxr_bay_bool_cb,
pub on_poe_powered_changed: mxr_bay_bool_cb,
pub on_hdbt_connected_changed: mxr_bay_bool_cb,
pub on_signal_type_changed: mxr_bay_str_cb,
pub on_hpd_detected_changed: mxr_bay_bool_cb,
pub on_cec_detected_changed: mxr_bay_bool_cb,
pub on_arc_changed: mxr_arc_cb,
pub on_edid_profile_changed: mxr_bay_u16_cb,
pub on_rc_type_changed: mxr_bay_u8_cb,
pub on_key_pressed: mxr_bay_u16_cb,
pub on_action_received: mxr_bay_u16_cb,
pub on_mirror_status_changed: mxr_bay_bay_cb,
pub on_amp_zone_settings_changed: mxr_bay_cb,
pub on_volume_step: mxr_bay_bool_cb,
pub on_audio_clip: mxr_bay_u8_cb,
pub on_ir_captured: mxr_ir_capture_cb,
pub on_filtered_devices_changed: mxr_bay_cb,
pub on_audio_endpoint_changed: mxr_bay_u8_cb,
pub on_encoder_disabled_changed: mxr_bay_bool_cb,
pub on_decoder_disabled_changed: mxr_bay_bool_cb,
pub on_bay_linked: mxr_bay_linked_cb,
pub on_bay_unlinked: mxr_bay_unlinked_cb,
}Expand description
What to call when something happens.
Zero the whole struct and fill in only what is wanted: a null member drops
its event. userdata is whatever was passed to
mxr_remote_new() and is never examined here.
Fields§
§on_device_update: mxr_device_cbFires after every device-level event below.
on_bay_update: mxr_bay_cbFires after every bay-level event below.
on_device_config_changed: mxr_device_cbThe device’s configuration changed.
on_device_config_complete: mxr_device_cbThe device has reported every part of its configuration.
on_device_online_changed: mxr_device_bool_cbThe device started or stopped answering.
on_device_temperature_changed: mxr_device_cbThe device reported new temperatures; read them with
mxr_device_temperatures().
on_firmware_version_changed: mxr_device_cbA firmware component reported its version; read it with
mxr_device_firmware().
on_system_status_changed: mxr_system_status_cbThe device reported a status about itself.
on_network_status_changed: mxr_device_cbA network port reported its link state; read it with
mxr_network_status().
on_v2ip_stats_changed: mxr_device_cbThe device reported V2IP statistics; read them with
mxr_v2ip_stats().
on_v2ip_sources_changed: mxr_device_cbThe streams the device’s source bays advertise changed; read them with
mxr_v2ip_sources().
on_v2ip_details_changed: mxr_device_cbThe device’s V2IP encoder configuration changed; read it with
mxr_v2ip_details().
on_v2ip_sink_changed: mxr_device_cbThe streams the device’s sink is subscribed to changed; read them with
mxr_v2ip_sink().
A route request addressed to the device fires this as soon as it is seen, so this reports what the mesh now believes rather than what the device confirmed - it acknowledges nothing, and only its own configuration report, sent on its own schedule, settles a route.
on_multiviewer_status_changed: mxr_device_cbA multiviewer reported its state; read it with
mxr_multiviewer_status().
on_audio_endpoints_changed: mxr_device_cbThe device reported its audio endpoint tree; read it with
mxr_audio_endpoints().
on_mesh_master_changed: mxr_device_uid_cbThe device reported its mesh master.
on_topology_changed: mxr_device_cbThe device reported its view of the mesh topology; read it with
mxr_topology().
on_amp_dolby_settings_changed: mxr_device_cbA ProAmp8 reported its Dolby settings; read them with
mxr_dolby_settings().
on_setup_status_changed: mxr_device_bool_cbInstaller setup was completed or cleared.
on_installer_id_changed: mxr_device_u16_cbThe installer identifier changed.
on_tiling_changed: mxr_device_cbThe sink was told to show a window; read it with
mxr_v2ip_tiling().
on_rc_settings_changed: mxr_device_cbA source bay’s remote-control configuration changed; read it with
mxr_rc_settings().
on_v2ip_link_changed: mxr_device_uid_cbA V2IP device was linked to a remote peer.
on_multiviewer_command: mxr_multiviewer_command_cbA multiviewer command arrived.
on_audio_select_input: mxr_audio_select_cbAn audio endpoint was switched to a new source.
on_audio_endpoint_mute: mxr_endpoint_bool_cbAn audio endpoint was muted or unmuted.
on_audio_endpoint_trigger: mxr_endpoint_bool_cbAn audio endpoint’s trigger changed.
on_audio_endpoint_volume: mxr_endpoint_u32_cbAn audio endpoint’s volume changed.
on_discover_request: mxr_device_cbA peer asked every device to announce itself.
on_set_route_requested: mxr_set_route_cbA peer asked a device to switch a sink.
on_edid_requested: mxr_edid_request_cbA peer asked a device for its EDID.
on_edid_received: mxr_edid_record_cbA device answered with its EDID.
on_bay_name_change_requested: mxr_bay_name_change_cbA peer asked a device to rename a bay.
on_edid_profile_change_requested: mxr_edid_profile_change_cbA peer asked a device to switch its EDID profile.
on_reboot_requested: mxr_device_uid_cbA peer asked a device to reboot. The second identifier is the device being asked, which is not always the sender.
on_factory_reset_requested: mxr_factory_reset_cbA peer asked devices to factory-reset.
on_monitoring_pulse: mxr_device_cbA device sent its monitoring pulse.
on_upgrade_fpga_requested: mxr_device_cbA peer asked a device to upgrade its FPGA.
on_detect_bays_requested: mxr_device_cbA peer asked a device to re-detect its bays.
on_power_save_requested: mxr_power_save_cbA peer asked a sink to enter or leave power save.
on_key_transmit_requested: mxr_key_transmit_cbA peer asked a device to send a remote-control key.
on_action_transmit_requested: mxr_action_transmit_cbA peer asked a device to perform a remote-control action.
on_ir_transmit_requested: mxr_ir_transmit_cbA peer asked a device to blast raw infrared.
on_blacklist_changed: mxr_blacklist_cbA device was added to or removed from the source blacklist.
on_video_wall_command: mxr_video_wall_cbA video wall command arrived.
on_bay_registered: mxr_bay_cbA bay was seen for the first time.
on_video_source_changed: mxr_bay_bay_cbThe bay’s routed video source changed, zero when it was unrouted.
on_audio_source_changed: mxr_bay_bay_cbThe bay’s routed audio source changed, zero when it was unrouted.
on_volume_changed: mxr_volume_cbThe bay’s volume or mute state changed.
on_power_changed: mxr_power_cbThe attached device’s power state changed.
on_name_changed: mxr_bay_str_cbThe bay was renamed.
on_signal_detected_changed: mxr_bay_bool_cbA signal appeared or disappeared.
on_faulty_changed: mxr_bay_bool_cbThe bay started or stopped reporting a fault.
The bay was hidden or shown.
on_poe_powered_changed: mxr_bay_bool_cbPower over Ethernet started or stopped supplying the bay.
on_hdbt_connected_changed: mxr_bay_bool_cbThe HDBaseT link came up or went down.
on_signal_type_changed: mxr_bay_str_cbThe signal format description changed.
on_hpd_detected_changed: mxr_bay_bool_cbHot-plug detect was asserted or released.
on_cec_detected_changed: mxr_bay_bool_cbA CEC device answered or stopped answering.
on_arc_changed: mxr_arc_cbThe audio return channel changed.
on_edid_profile_changed: mxr_bay_u16_cbThe input’s EDID profile changed.
on_rc_type_changed: mxr_bay_u8_cbThe input’s remote-control type changed.
on_key_pressed: mxr_bay_u16_cbA remote-control key was pressed on the bay.
on_action_received: mxr_bay_u16_cbA remote-control action was received on the bay.
on_mirror_status_changed: mxr_bay_bay_cbThe bay started or stopped mirroring another output, zero when it stopped.
on_amp_zone_settings_changed: mxr_bay_cbA ProAmp8 zone’s settings changed; read them with
mxr_bay_amp_settings().
on_volume_step: mxr_bay_bool_cbA volume step was requested on the bay.
on_audio_clip: mxr_bay_u8_cbThe bay detected audio clipping, at the reported level.
on_ir_captured: mxr_ir_capture_cbRaw infrared was captured on the bay.
on_filtered_devices_changed: mxr_bay_cbThe devices filtered out of this sink’s picker changed; read them with
mxr_bay_filtered().
on_audio_endpoint_changed: mxr_bay_u8_cbThe audio endpoint the bay carries changed.
on_encoder_disabled_changed: mxr_bay_bool_cbThe bay’s V2IP encoder was enabled or disabled.
on_decoder_disabled_changed: mxr_bay_bool_cbThe bay’s V2IP decoder was enabled or disabled.
on_bay_linked: mxr_bay_linked_cbThe bay was linked to a bay on another device. Both ends are told, so
both fire: bay_name names the bay whose link record changed, which is
this bay on the device that reported the change and the far bay on its
peer.
on_bay_unlinked: mxr_bay_unlinked_cbThe bay’s link to another device was removed. The arguments describe
the link that went, and mean what they do on on_bay_linked.
Trait Implementations§
Source§impl Clone for mxr_callbacks_t
impl Clone for mxr_callbacks_t
Source§fn clone(&self) -> mxr_callbacks_t
fn clone(&self) -> mxr_callbacks_t
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more