pub enum RawFormat<'a> {
SingleMultiChannel,
Simultaneous(BytesConst<'a, 2>),
SequentiallyIndependent(BytesConst<'a, 2>),
}
Expand description
FF 00 02 Sequence Number This optional event, which must occur at the beginning of a track, before any nonzero delta-times, and before any transmittable MIDI events, specifies the number of a sequence. In a format 2 MIDI File, it is used to identify each “pattern” so that a “song” sequence using the Cue message can refer to the patterns. If the ID numbers are omitted, the sequences’ locations in order in the file are used as defaults. In a format 0 or 1 MIDI File, which only contain one sequence, this number should be contained in the first (or only) track. If transfer of several multitrack sequences is required, this must be done as a group of format 1 files, each with a different sequence number.
Variants§
SingleMultiChannel
Format 0
Simultaneous(BytesConst<'a, 2>)
Format 1
SequentiallyIndependent(BytesConst<'a, 2>)
Format 2
Implementations§
Source§impl<'a> RawFormat<'a>
impl<'a> RawFormat<'a>
Sourcepub const fn single_multichannel() -> RawFormat<'a>
pub const fn single_multichannel() -> RawFormat<'a>
Create a RawFormat::SingleMultiChannel
Sourcepub fn num_tracks(&self) -> u16
pub fn num_tracks(&self) -> u16
Returns the number of tracks identified by the format.
RawFormat::SingleMultiChannel
will always return 1.
Sourcepub const fn format_type(&self) -> FormatType
pub const fn format_type(&self) -> FormatType
Returns the format type of the format.
Trait Implementations§
impl<'a> Eq for RawFormat<'a>
impl<'a> StructuralPartialEq for RawFormat<'a>
Auto Trait Implementations§
impl<'a> Freeze for RawFormat<'a>
impl<'a> RefUnwindSafe for RawFormat<'a>
impl<'a> Send for RawFormat<'a>
impl<'a> Sync for RawFormat<'a>
impl<'a> Unpin for RawFormat<'a>
impl<'a> UnwindSafe for RawFormat<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more