atem-connection-rs/atem-connection-rs/src/state/recording.rs

42 lines
928 B
Rust

use std::collections::HashMap;
use crate::enums::{RecordingDiskStatus, RecordingError, RecordingStatus};
use super::common::Timecode;
#[derive(Getters, new)]
pub struct RecordingState {
pub status: Option<RecordingStateStatus>,
pub properties: RecordingStateProperties,
pub duration: Option<Timecode>,
pub disks: HashMap<u64, RecordingDiskProperties>
}
#[derive(Getters, new)]
pub struct RecordingDiskProperties {
pub disk_id: u64,
pub volume_name: String,
pub recording_time_available: u64,
pub status: RecordingDiskStatus
}
#[derive(Getters, new)]
pub struct RecordingStateStatus {
pub state: RecordingStatus,
pub error: RecordingError,
pub recording_time_available: u64
}
#[derive(Getters, new)]
pub struct RecordingStateProperties {
pub filename: String,
pub working_set_1_disk_id: u64,
pub working_set_2_disk_id: u64,
pub record_in_all_cameras: bool
}