From a98faa23196e12b8f1a6210d72a02061b436a2d4 Mon Sep 17 00:00:00 2001 From: Cassandra de la Cruz-Munoz Date: Sat, 30 Dec 2023 11:56:22 -0500 Subject: [PATCH] add VmcExtConfig --- src/lib.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 3955f3b..508b048 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1141,3 +1141,25 @@ impl MessageBehavior for VmcExtSettingWin { return Ok(result); } } + +struct VmcExtConfig { + path: String, +} + +impl MessageBehavior for VmcExtConfig { + fn to_osc_message(&self) -> OscMessage { + return OscMessage { + addr: String::from("/VMC/Ext/Config"), + args: vec![OscType::from(self.path.to_owned())], + }; + } + fn from_osc_message(msg: OscMessage) -> Result { + if msg.addr.len() != 1 { + return Err(String::from("arg count invalid")); + } + match &msg.args[0] { + OscType::String(s) => return Ok(VmcExtConfig { path: s.to_owned() }), + _ => return Err(String::from("arg type invalid")), + } + } +}