pub struct OscTime {
pub seconds: u32,
pub fractional: u32,
}Expand description
A time tag in OSC message consists of two 32-bit integers where the first one denotes the number of seconds since 1900-01-01 and the second the fractions of a second. For details on its semantics see http://opensoundcontrol.org/node/3/#timetags
§Examples
#[cfg(feature = "std")]
{
use rosc::OscTime;
use std::{convert::TryFrom, time::UNIX_EPOCH};
assert_eq!(
OscTime::try_from(UNIX_EPOCH).unwrap(),
OscTime::from((2_208_988_800, 0))
);
}§Conversions between (u32, u32)
Prior to version 0.5.0 of this crate, OscTime was defined as a type alias to (u32, u32).
If you are upgrading from one of these older versions, you can use .into() to
convert between (u32, u32) and OscTime in either direction.
§Conversions between std::time::SystemTime
The traits in std::convert are implemented for converting between
SystemTime and OscTime in both directions. An OscTime can be
converted into a SystemTime using From/Into.
A SystemTime can be converted into an OscTime using
TryFrom/TryInto. The fallible variants of
the conversion traits are used this case because not every SystemTime can be represented as
an OscTime.
These conversions are lossy, but are tested to have a deviation within 5 nanoseconds when converted back and forth in either direction.
Although any time since the OSC epoch (1900-01-01 00:00:00 UTC) can be represented using the
OSC timestamp format, this crate only allows conversions between times greater than or equal to
the UNIX_EPOCH. This allows the math used in the conversions to work
on 32-bit systems which cannot represent times that far back.
Fields§
§seconds: u32§fractional: u32Trait Implementations§
Source§impl From<OscTime> for SystemTime
Available on crate feature std only.
impl From<OscTime> for SystemTime
std only.Source§fn from(time: OscTime) -> SystemTime
fn from(time: OscTime) -> SystemTime
Source§impl Ord for OscTime
impl Ord for OscTime
Source§impl PartialOrd for OscTime
impl PartialOrd for OscTime
Source§impl TryFrom<SystemTime> for OscTime
Available on crate feature std only.
impl TryFrom<SystemTime> for OscTime
std only.