#[macro_use]
extern crate serde_derive;
extern crate serde;
extern crate serde_bytes;
extern crate serde_osc;
use serde_bytes::ByteBuf;
use serde_osc::{de, ser};
#[derive(Debug, Deserialize, Serialize)]
struct Message {
address: String,
args: (i32, f32, ByteBuf),
}
fn main() {
let message = Message {
address: "/audio/play".to_owned(),
args: (
1,
44100.0f32,
ByteBuf::from(vec![0xde, 0xad, 0xbe, 0xef]),
)
};
println!("Serializing {:?}", message);
let as_vec = ser::to_vec(&message).unwrap();
println!("Serialied to: {:?}", as_vec);
let received: Message = de::from_slice(&as_vec).unwrap();
println!("Received: {:?}", received);
}