edition 2024
This commit is contained in:
parent
3e1ecb0df1
commit
aaa8640a96
|
@ -1,7 +1,7 @@
|
|||
[package]
|
||||
name = "atem-connection-rs"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
derive-getters = "0.2.0"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use core::{fmt::Display, str};
|
||||
use enumflags2::{bitflags, BitFlags};
|
||||
use enumflags2::{BitFlags, bitflags};
|
||||
|
||||
use super::atem_field::{Field, FieldParsingError, RawField};
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ pub trait DeserializedCommand: Send + Sync + Debug {
|
|||
|
||||
pub trait CommandDeserializer: Send + Sync {
|
||||
fn deserialize(&self, buffer: &[u8], version: &ProtocolVersion)
|
||||
-> Arc<dyn DeserializedCommand>;
|
||||
-> Arc<dyn DeserializedCommand>;
|
||||
}
|
||||
|
||||
pub trait SerializableCommand: Send + Sync {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
use std::sync::Arc;
|
||||
use derive_new::new;
|
||||
|
||||
use crate::{
|
||||
commands::command_base::{
|
||||
|
|
|
@ -2,7 +2,7 @@ use std::{collections::VecDeque, sync::Arc};
|
|||
|
||||
use crate::{
|
||||
atem_lib::atem_packet::{AtemPacket, RawFields},
|
||||
commands::device_profile::version::{deserialize_version, DESERIALIZE_VERSION_RAW_NAME},
|
||||
commands::device_profile::version::{DESERIALIZE_VERSION_RAW_NAME, deserialize_version},
|
||||
enums::ProtocolVersion,
|
||||
};
|
||||
|
||||
|
@ -10,20 +10,20 @@ use super::{
|
|||
command_base::{CommandDeserializer, DeserializedCommand},
|
||||
device_profile::{
|
||||
audio_mixer_config::{AudioMixerConfigDeserializer, DESERIALIZE_AUDIO_MIXER_CONFIG_NAME},
|
||||
media_pool_config::{MediaPoolConfigDeserializer, DESERIALIZE_MEDIA_POOL_CONFIG_NAME},
|
||||
media_pool_config::{DESERIALIZE_MEDIA_POOL_CONFIG_NAME, MediaPoolConfigDeserializer},
|
||||
mix_effect_block_config::{
|
||||
MixEffectBlockConfigDeserializer, DESERIALIZE_MIX_EFFECT_BLOCK_CONFIG_NAME,
|
||||
DESERIALIZE_MIX_EFFECT_BLOCK_CONFIG_NAME, MixEffectBlockConfigDeserializer,
|
||||
},
|
||||
multiviewer_config::{MultiviewerConfigDeserializer, DESERIALIZE_MULTIVIEWER_NAME},
|
||||
multiviewer_config::{DESERIALIZE_MULTIVIEWER_NAME, MultiviewerConfigDeserializer},
|
||||
product_identifier::{
|
||||
ProductIdentifierDeserializer, DESERIALIZE_PRODUCT_IDENTIFIER_RAW_NAME,
|
||||
DESERIALIZE_PRODUCT_IDENTIFIER_RAW_NAME, ProductIdentifierDeserializer,
|
||||
},
|
||||
topology::{TopologyDeserializer, DESERIALIZE_TOPOLOGY_RAW_NAME},
|
||||
topology::{DESERIALIZE_TOPOLOGY_RAW_NAME, TopologyDeserializer},
|
||||
},
|
||||
init_complete::{InitCompleteDeserializer, DESERIALIZE_INIT_COMPLETE_RAW_NAME},
|
||||
mix_effects::program_input::{ProgramInputDeserializer, DESERIALIZE_PROGRAM_INPUT_RAW_NAME},
|
||||
tally_by_source::{TallyBySourceDeserializer, DESERIALIZE_TALLY_BY_SOURCE_RAW_NAME},
|
||||
time::{TimeDeserializer, DESERIALIZE_TIME_RAW_NAME},
|
||||
init_complete::{DESERIALIZE_INIT_COMPLETE_RAW_NAME, InitCompleteDeserializer},
|
||||
mix_effects::program_input::{DESERIALIZE_PROGRAM_INPUT_RAW_NAME, ProgramInputDeserializer},
|
||||
tally_by_source::{DESERIALIZE_TALLY_BY_SOURCE_RAW_NAME, TallyBySourceDeserializer},
|
||||
time::{DESERIALIZE_TIME_RAW_NAME, TimeDeserializer},
|
||||
};
|
||||
|
||||
pub fn deserialize_commands<T: AsRef<[u8]>>(
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
use derive_new::new;
|
||||
use std::{collections::HashMap, sync::Arc};
|
||||
|
||||
use crate::enums::ProtocolVersion;
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
#[macro_use]
|
||||
extern crate derive_new;
|
||||
#[macro_use]
|
||||
extern crate derive_getters;
|
||||
|
||||
|
||||
pub mod atem;
|
||||
pub mod atem_lib;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
#[derive(Clone, PartialEq, Getters, new, Default)]
|
||||
pub struct MacroPlayerState {
|
||||
pub is_running: bool,
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
use std::collections::HashMap;
|
||||
|
||||
use crate::enums::{AudioMixOption, AudioSourceType, ExternalPortType};
|
||||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
|
||||
pub type AudioChannel = ClassicAudioChannel;
|
||||
pub type AudioMasterChannel = ClassicAudioMasterChannel;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
#[derive(Clone, PartialEq, Getters, new)]
|
||||
pub struct ColorGeneratorState {
|
||||
pub hue: u64,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
#[derive(Clone, PartialEq, Getters, new)]
|
||||
pub struct Timecode {
|
||||
pub hours: u64,
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use std::collections::HashMap;
|
||||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
|
||||
use crate::enums::{
|
||||
ExternalPortType, FairlightAnalogInputLevel, FairlightAudioMixOption, FairlightAudioSourceType,
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use crate::enums::{Model, ProtocolVersion};
|
||||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
|
||||
#[derive(Clone, PartialEq, Getters, new)]
|
||||
pub struct AtemCapabilites {
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use crate::enums::{ExternalPortType, InternalPortType, MeAvailability, SourceAvailability};
|
||||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
|
||||
#[derive(Clone, PartialEq, Getters, new)]
|
||||
pub struct InputChannel {
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use crate::enums;
|
||||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
|
||||
#[derive(Clone, PartialEq, Getters, new)]
|
||||
pub struct MediaPlayer {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
use std::collections::HashMap;
|
||||
|
||||
use crate::enums::{RecordingDiskStatus, RecordingError, RecordingStatus};
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use crate::enums::{MultiViewerLayout, VideoMode};
|
||||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
|
||||
pub trait MultiViewerSourceState {
|
||||
fn get_source(&self) -> u64;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use crate::enums::{StreamingError, StreamingStatus};
|
||||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
|
||||
use super::common::Timecode;
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
use crate::enums::{TransitionSelection, TransitionStyle};
|
||||
|
||||
use super::{
|
||||
AtemState,
|
||||
settings::MultiViewer,
|
||||
video::{MixEffect, TransitionPosition, TransitionProperties, TransitionSettings},
|
||||
AtemState,
|
||||
};
|
||||
|
||||
pub fn create() -> AtemState {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
pub trait DownstreamKeyerBase {
|
||||
fn get_in_transition(&self) -> bool;
|
||||
fn get_remaining_frames(&self) -> f64;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use crate::enums;
|
||||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
|
||||
mod downstream_keyers;
|
||||
mod super_source;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use crate::enums;
|
||||
use derive_getters::Getters;
|
||||
use derive_new::new;
|
||||
|
||||
#[derive(Clone, PartialEq, Getters, new)]
|
||||
pub struct SuperSourceBox {
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
[package]
|
||||
name = "atem-test"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
atem-connection-rs = { path = "../atem-connection-rs" }
|
||||
|
|
|
@ -69,12 +69,16 @@ async fn main() {
|
|||
|
||||
fn setup_logging() -> Result<(), Report> {
|
||||
if std::env::var("RUST_LIB_BACKTRACE").is_err() {
|
||||
std::env::set_var("RUST_LIB_BACKTRACE", "1");
|
||||
unsafe {
|
||||
std::env::set_var("RUST_LIB_BACKTRACE", "1");
|
||||
}
|
||||
}
|
||||
color_eyre::install()?;
|
||||
|
||||
if std::env::var("RUST_LOG").is_err() {
|
||||
std::env::set_var("RUST_LOG", "debug");
|
||||
unsafe {
|
||||
std::env::set_var("RUST_LOG", "debug");
|
||||
}
|
||||
}
|
||||
env_logger::init();
|
||||
|
||||
|
|
Loading…
Reference in New Issue