#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct ClipId(u64);
impl ClipId {
pub const UNSET: ClipId = ClipId(0);
#[must_use]
pub fn is_set(self) -> bool {
self.0 != 0
}
pub(crate) fn from_raw(value: u64) -> Self {
ClipId(value)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct TrackId(u64);
impl TrackId {
pub const UNSET: TrackId = TrackId(0);
#[must_use]
pub fn is_set(self) -> bool {
self.0 != 0
}
pub(crate) fn from_raw(value: u64) -> Self {
TrackId(value)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MarkerId(u64);
impl MarkerId {
pub const UNSET: MarkerId = MarkerId(0);
#[must_use]
pub fn is_set(self) -> bool {
self.0 != 0
}
pub(crate) fn from_raw(value: u64) -> Self {
MarkerId(value)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct GroupId(u64);
impl GroupId {
pub const UNSET: GroupId = GroupId(0);
#[must_use]
pub fn is_set(self) -> bool {
self.0 != 0
}
pub(crate) fn from_raw(value: u64) -> Self {
GroupId(value)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum TrackKind {
Video,
Audio,
}