Created
May 26, 2020 19:16
-
-
Save benhall-7/3057fcf02f74a7c2acc34d66748f028a to your computer and use it in GitHub Desktop.
musicli macro expansion
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#![feature(prelude_import)] | |
#[prelude_import] | |
use std::prelude::v1::*; | |
#[macro_use] | |
extern crate std; | |
pub mod error { | |
use std::error; | |
use std::fmt::Display; | |
use std::io; | |
pub enum Error { | |
IO(io::Error), | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for Error { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match (&*self,) { | |
(&Error::IO(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("IO"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
impl From<io::Error> for Error { | |
fn from(err: io::Error) -> Self { | |
Error::IO(err) | |
} | |
} | |
impl Display for Error { | |
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { | |
match self { | |
Error::IO(e) => f.write_fmt(::core::fmt::Arguments::new_v1( | |
&["IO error: "], | |
&match (&e,) { | |
(arg0,) => [::core::fmt::ArgumentV1::new(arg0, ::core::fmt::Debug::fmt)], | |
}, | |
)), | |
} | |
} | |
} | |
impl error::Error for Error { | |
fn cause(&self) -> Option<&dyn error::Error> { | |
match self { | |
Error::IO(e) => Some(e), | |
} | |
} | |
} | |
} | |
pub mod midi { | |
mod file { | |
use super::{Format, Timing}; | |
use crate::midi::Track; | |
use binread::io::{Read, Seek}; | |
use binread::Endian::Big; | |
use binread::{BinRead, BinReaderExt, BinResult, ReadOptions}; | |
use serde::{Deserialize, Serialize}; | |
pub struct File { | |
pub format: Format, | |
timing: Timing, | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for File { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match *self { | |
File { | |
format: ref __self_0_0, | |
timing: ref __self_0_1, | |
} => { | |
let mut debug_trait_builder = f.debug_struct("File"); | |
let _ = debug_trait_builder.field("format", &&(*__self_0_0)); | |
let _ = debug_trait_builder.field("timing", &&(*__self_0_1)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_File: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for File { | |
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "field identifier") | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"field index 0 <= i < 2", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"format" => _serde::export::Ok(__Field::__field0), | |
"timing" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"format" => _serde::export::Ok(__Field::__field0), | |
b"timing" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<File>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = File; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "struct File") | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = match match _serde::de::SeqAccess::next_element::<Format>( | |
&mut __seq, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err(_serde::de::Error::invalid_length( | |
0usize, | |
&"struct File with 2 elements", | |
)); | |
} | |
}; | |
let __field1 = match match _serde::de::SeqAccess::next_element::<Timing>( | |
&mut __seq, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err(_serde::de::Error::invalid_length( | |
1usize, | |
&"struct File with 2 elements", | |
)); | |
} | |
}; | |
_serde::export::Ok(File { | |
format: __field0, | |
timing: __field1, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<Format> = _serde::export::None; | |
let mut __field1: _serde::export::Option<Timing> = _serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>(&mut __map) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some(&__field0) { | |
return _serde::export::Err( | |
<__A::Error as _serde::de::Error>::duplicate_field( | |
"format", | |
), | |
); | |
} | |
__field0 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::<Format>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some(&__field1) { | |
return _serde::export::Err( | |
<__A::Error as _serde::de::Error>::duplicate_field( | |
"timing", | |
), | |
); | |
} | |
__field1 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::<Timing>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
_ => { | |
let _ = match _serde::de::MapAccess::next_value::< | |
_serde::de::IgnoredAny, | |
>( | |
&mut __map | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("format") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("timing") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(File { | |
format: __field0, | |
timing: __field1, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["format", "timing"]; | |
_serde::Deserializer::deserialize_struct( | |
__deserializer, | |
"File", | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<File>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_File: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for File { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
let mut __serde_state = match _serde::Serializer::serialize_struct( | |
__serializer, | |
"File", | |
false as usize + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"format", | |
&self.format, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"timing", | |
&self.timing, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStruct::end(__serde_state) | |
} | |
} | |
}; | |
impl File { | |
pub fn get_timing(&self) -> Timing { | |
self.timing | |
} | |
} | |
impl BinRead for File { | |
type Args = (); | |
fn read_options<R: Read + Seek>( | |
reader: &mut R, | |
_: &ReadOptions, | |
_: (), | |
) -> BinResult<Self> { | |
let mut buf = [0u8; 4]; | |
reader.read_exact(&mut buf)?; | |
{ | |
match (&b"MThd", &&buf) { | |
(left_val, right_val) => { | |
if !(*left_val == *right_val) { | |
{ | |
::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1( | |
&[ | |
"assertion failed: `(left == right)`\n left: `", | |
"`,\n right: `", | |
"`", | |
], | |
&match (&&*left_val, &&*right_val) { | |
(arg0, arg1) => [ | |
::core::fmt::ArgumentV1::new( | |
arg0, | |
::core::fmt::Debug::fmt, | |
), | |
::core::fmt::ArgumentV1::new( | |
arg1, | |
::core::fmt::Debug::fmt, | |
), | |
], | |
}, | |
)) | |
} | |
} | |
} | |
} | |
}; | |
let size = reader.read_type::<u32>(Big)?; | |
{ | |
match (&size, &6) { | |
(left_val, right_val) => { | |
if !(*left_val == *right_val) { | |
{ | |
::std::rt::begin_panic_fmt(&::core::fmt::Arguments::new_v1( | |
&[ | |
"assertion failed: `(left == right)`\n left: `", | |
"`,\n right: `", | |
"`", | |
], | |
&match (&&*left_val, &&*right_val) { | |
(arg0, arg1) => [ | |
::core::fmt::ArgumentV1::new( | |
arg0, | |
::core::fmt::Debug::fmt, | |
), | |
::core::fmt::ArgumentV1::new( | |
arg1, | |
::core::fmt::Debug::fmt, | |
), | |
], | |
}, | |
)) | |
} | |
} | |
} | |
} | |
}; | |
let format = reader.read_type::<u16>(Big)?; | |
let track_count = reader.read_type::<u16>(Big)?; | |
let timing = Timing::read(reader)?; | |
match format { | |
0 => Ok(File { | |
format: Format::SingleTrack(Track::read(reader)?), | |
timing, | |
}), | |
1 => { | |
let mut tracks = Vec::with_capacity(track_count as usize); | |
for _ in 0..track_count { | |
tracks.push(Track::read(reader)?); | |
} | |
Ok(File { | |
format: Format::MultipleTrack(tracks), | |
timing, | |
}) | |
} | |
2 => { | |
let mut tracks = Vec::with_capacity(track_count as usize); | |
for _ in 0..track_count { | |
tracks.push(Track::read(reader)?); | |
} | |
Ok(File { | |
format: Format::ParallelTrack(tracks), | |
timing, | |
}) | |
} | |
_ => ::std::rt::begin_panic( | |
"MIDI format specifier only allows values 0, 1, or 2", | |
), | |
} | |
} | |
} | |
} | |
mod format { | |
use super::Track; | |
use serde::{Deserialize, Serialize}; | |
pub enum Format { | |
SingleTrack(Track), | |
MultipleTrack(Vec<Track>), | |
ParallelTrack(Vec<Track>), | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for Format { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match (&*self,) { | |
(&Format::SingleTrack(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("SingleTrack"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&Format::MultipleTrack(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("MultipleTrack"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&Format::ParallelTrack(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("ParallelTrack"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_Format: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for Format { | |
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__field2, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "variant identifier") | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
2u64 => _serde::export::Ok(__Field::__field2), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"variant index 0 <= i < 3", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"SingleTrack" => _serde::export::Ok(__Field::__field0), | |
"MultipleTrack" => _serde::export::Ok(__Field::__field1), | |
"ParallelTrack" => _serde::export::Ok(__Field::__field2), | |
_ => _serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"SingleTrack" => _serde::export::Ok(__Field::__field0), | |
b"MultipleTrack" => _serde::export::Ok(__Field::__field1), | |
b"ParallelTrack" => _serde::export::Ok(__Field::__field2), | |
_ => { | |
let __value = &_serde::export::from_utf8_lossy(__value); | |
_serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)) | |
} | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<Format>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = Format; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "enum Format") | |
} | |
fn visit_enum<__A>( | |
self, | |
__data: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::EnumAccess<'de>, | |
{ | |
match match _serde::de::EnumAccess::variant(__data) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
(__Field::__field0, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<Track>(__variant), | |
Format::SingleTrack, | |
), | |
(__Field::__field1, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<Vec<Track>>( | |
__variant, | |
), | |
Format::MultipleTrack, | |
), | |
(__Field::__field2, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<Vec<Track>>( | |
__variant, | |
), | |
Format::ParallelTrack, | |
), | |
} | |
} | |
} | |
const VARIANTS: &'static [&'static str] = | |
&["SingleTrack", "MultipleTrack", "ParallelTrack"]; | |
_serde::Deserializer::deserialize_enum( | |
__deserializer, | |
"Format", | |
VARIANTS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<Format>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_Format: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for Format { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
match *self { | |
Format::SingleTrack(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"Format", | |
0u32, | |
"SingleTrack", | |
__field0, | |
) | |
} | |
Format::MultipleTrack(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"Format", | |
1u32, | |
"MultipleTrack", | |
__field0, | |
) | |
} | |
Format::ParallelTrack(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"Format", | |
2u32, | |
"ParallelTrack", | |
__field0, | |
) | |
} | |
} | |
} | |
} | |
}; | |
} | |
mod smpte_timecode { | |
use serde::{Deserialize, Serialize}; | |
pub enum SMPTETimecode { | |
FPS24 = 24, | |
FPS25 = 25, | |
FPS29 = 29, | |
FPS30 = 30, | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for SMPTETimecode { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match (&*self,) { | |
(&SMPTETimecode::FPS24,) => { | |
let mut debug_trait_builder = f.debug_tuple("FPS24"); | |
debug_trait_builder.finish() | |
} | |
(&SMPTETimecode::FPS25,) => { | |
let mut debug_trait_builder = f.debug_tuple("FPS25"); | |
debug_trait_builder.finish() | |
} | |
(&SMPTETimecode::FPS29,) => { | |
let mut debug_trait_builder = f.debug_tuple("FPS29"); | |
debug_trait_builder.finish() | |
} | |
(&SMPTETimecode::FPS30,) => { | |
let mut debug_trait_builder = f.debug_tuple("FPS30"); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::clone::Clone for SMPTETimecode { | |
#[inline] | |
fn clone(&self) -> SMPTETimecode { | |
{ | |
*self | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::marker::Copy for SMPTETimecode {} | |
impl ::core::marker::StructuralPartialEq for SMPTETimecode {} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::PartialEq for SMPTETimecode { | |
#[inline] | |
fn eq(&self, other: &SMPTETimecode) -> bool { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
_ => true, | |
} | |
} else { | |
false | |
} | |
} | |
} | |
} | |
impl ::core::marker::StructuralEq for SMPTETimecode {} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::Eq for SMPTETimecode { | |
#[inline] | |
#[doc(hidden)] | |
fn assert_receiver_is_total_eq(&self) -> () { | |
{} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::PartialOrd for SMPTETimecode { | |
#[inline] | |
fn partial_cmp( | |
&self, | |
other: &SMPTETimecode, | |
) -> ::core::option::Option<::core::cmp::Ordering> { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
_ => ::core::option::Option::Some(::core::cmp::Ordering::Equal), | |
} | |
} else { | |
__self_vi.partial_cmp(&__arg_1_vi) | |
} | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::Ord for SMPTETimecode { | |
#[inline] | |
fn cmp(&self, other: &SMPTETimecode) -> ::core::cmp::Ordering { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
_ => ::core::cmp::Ordering::Equal, | |
} | |
} else { | |
__self_vi.cmp(&__arg_1_vi) | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_SMPTETimecode: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for SMPTETimecode { | |
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__field2, | |
__field3, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "variant identifier") | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
2u64 => _serde::export::Ok(__Field::__field2), | |
3u64 => _serde::export::Ok(__Field::__field3), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"variant index 0 <= i < 4", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"FPS24" => _serde::export::Ok(__Field::__field0), | |
"FPS25" => _serde::export::Ok(__Field::__field1), | |
"FPS29" => _serde::export::Ok(__Field::__field2), | |
"FPS30" => _serde::export::Ok(__Field::__field3), | |
_ => _serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"FPS24" => _serde::export::Ok(__Field::__field0), | |
b"FPS25" => _serde::export::Ok(__Field::__field1), | |
b"FPS29" => _serde::export::Ok(__Field::__field2), | |
b"FPS30" => _serde::export::Ok(__Field::__field3), | |
_ => { | |
let __value = &_serde::export::from_utf8_lossy(__value); | |
_serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)) | |
} | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<SMPTETimecode>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = SMPTETimecode; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "enum SMPTETimecode") | |
} | |
fn visit_enum<__A>( | |
self, | |
__data: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::EnumAccess<'de>, | |
{ | |
match match _serde::de::EnumAccess::variant(__data) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
(__Field::__field0, __variant) => { | |
match _serde::de::VariantAccess::unit_variant(__variant) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::export::Ok(SMPTETimecode::FPS24) | |
} | |
(__Field::__field1, __variant) => { | |
match _serde::de::VariantAccess::unit_variant(__variant) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::export::Ok(SMPTETimecode::FPS25) | |
} | |
(__Field::__field2, __variant) => { | |
match _serde::de::VariantAccess::unit_variant(__variant) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::export::Ok(SMPTETimecode::FPS29) | |
} | |
(__Field::__field3, __variant) => { | |
match _serde::de::VariantAccess::unit_variant(__variant) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::export::Ok(SMPTETimecode::FPS30) | |
} | |
} | |
} | |
} | |
const VARIANTS: &'static [&'static str] = &["FPS24", "FPS25", "FPS29", "FPS30"]; | |
_serde::Deserializer::deserialize_enum( | |
__deserializer, | |
"SMPTETimecode", | |
VARIANTS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<SMPTETimecode>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_SMPTETimecode: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for SMPTETimecode { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
match *self { | |
SMPTETimecode::FPS24 => _serde::Serializer::serialize_unit_variant( | |
__serializer, | |
"SMPTETimecode", | |
0u32, | |
"FPS24", | |
), | |
SMPTETimecode::FPS25 => _serde::Serializer::serialize_unit_variant( | |
__serializer, | |
"SMPTETimecode", | |
1u32, | |
"FPS25", | |
), | |
SMPTETimecode::FPS29 => _serde::Serializer::serialize_unit_variant( | |
__serializer, | |
"SMPTETimecode", | |
2u32, | |
"FPS29", | |
), | |
SMPTETimecode::FPS30 => _serde::Serializer::serialize_unit_variant( | |
__serializer, | |
"SMPTETimecode", | |
3u32, | |
"FPS30", | |
), | |
} | |
} | |
} | |
}; | |
impl SMPTETimecode { | |
pub fn from(value: u32) -> Result<Self, ()> { | |
match value { | |
24 => Ok(SMPTETimecode::FPS24), | |
25 => Ok(SMPTETimecode::FPS25), | |
29 => Ok(SMPTETimecode::FPS29), | |
30 => Ok(SMPTETimecode::FPS30), | |
_ => Err(()), | |
} | |
} | |
} | |
} | |
mod timing { | |
use crate::midi::SMPTETimecode; | |
use binread::io::{Error, ErrorKind, Read, Seek}; | |
use binread::Endian::Big; | |
use binread::{BinRead, BinReaderExt, BinResult, ReadOptions}; | |
use serde::{Deserialize, Serialize}; | |
pub enum Timing { | |
/// Indicates a subdivision of quarter notes into a number of pulses. | |
/// This timing is affected by tempo tracks, because it depends on the time of a quarter note. | |
Metrical(u16), | |
/// Indicates a subdivision of each second into frames. | |
/// A frame is subdivided once again by the second value. | |
/// This timing is not affected by tempo tracks. | |
Real(SMPTETimecode, u8), | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for Timing { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match (&*self,) { | |
(&Timing::Metrical(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("Metrical"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&Timing::Real(ref __self_0, ref __self_1),) => { | |
let mut debug_trait_builder = f.debug_tuple("Real"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
let _ = debug_trait_builder.field(&&(*__self_1)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::clone::Clone for Timing { | |
#[inline] | |
fn clone(&self) -> Timing { | |
{ | |
let _: ::core::clone::AssertParamIsClone<u16>; | |
let _: ::core::clone::AssertParamIsClone<SMPTETimecode>; | |
let _: ::core::clone::AssertParamIsClone<u8>; | |
*self | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::marker::Copy for Timing {} | |
impl ::core::marker::StructuralPartialEq for Timing {} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::PartialEq for Timing { | |
#[inline] | |
fn eq(&self, other: &Timing) -> bool { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
(&Timing::Metrical(ref __self_0), &Timing::Metrical(ref __arg_1_0)) => { | |
(*__self_0) == (*__arg_1_0) | |
} | |
( | |
&Timing::Real(ref __self_0, ref __self_1), | |
&Timing::Real(ref __arg_1_0, ref __arg_1_1), | |
) => (*__self_0) == (*__arg_1_0) && (*__self_1) == (*__arg_1_1), | |
_ => unsafe { ::core::intrinsics::unreachable() }, | |
} | |
} else { | |
false | |
} | |
} | |
} | |
#[inline] | |
fn ne(&self, other: &Timing) -> bool { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
(&Timing::Metrical(ref __self_0), &Timing::Metrical(ref __arg_1_0)) => { | |
(*__self_0) != (*__arg_1_0) | |
} | |
( | |
&Timing::Real(ref __self_0, ref __self_1), | |
&Timing::Real(ref __arg_1_0, ref __arg_1_1), | |
) => (*__self_0) != (*__arg_1_0) || (*__self_1) != (*__arg_1_1), | |
_ => unsafe { ::core::intrinsics::unreachable() }, | |
} | |
} else { | |
true | |
} | |
} | |
} | |
} | |
impl ::core::marker::StructuralEq for Timing {} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::Eq for Timing { | |
#[inline] | |
#[doc(hidden)] | |
fn assert_receiver_is_total_eq(&self) -> () { | |
{ | |
let _: ::core::cmp::AssertParamIsEq<u16>; | |
let _: ::core::cmp::AssertParamIsEq<SMPTETimecode>; | |
let _: ::core::cmp::AssertParamIsEq<u8>; | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::PartialOrd for Timing { | |
#[inline] | |
fn partial_cmp(&self, other: &Timing) -> ::core::option::Option<::core::cmp::Ordering> { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
(&Timing::Metrical(ref __self_0), &Timing::Metrical(ref __arg_1_0)) => { | |
match ::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
) { | |
::core::option::Option::Some(::core::cmp::Ordering::Equal) => { | |
::core::option::Option::Some(::core::cmp::Ordering::Equal) | |
} | |
cmp => cmp, | |
} | |
} | |
( | |
&Timing::Real(ref __self_0, ref __self_1), | |
&Timing::Real(ref __arg_1_0, ref __arg_1_1), | |
) => match ::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
) { | |
::core::option::Option::Some(::core::cmp::Ordering::Equal) => { | |
match ::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_1), | |
&(*__arg_1_1), | |
) { | |
::core::option::Option::Some( | |
::core::cmp::Ordering::Equal, | |
) => ::core::option::Option::Some( | |
::core::cmp::Ordering::Equal, | |
), | |
cmp => cmp, | |
} | |
} | |
cmp => cmp, | |
}, | |
_ => unsafe { ::core::intrinsics::unreachable() }, | |
} | |
} else { | |
__self_vi.partial_cmp(&__arg_1_vi) | |
} | |
} | |
} | |
#[inline] | |
fn lt(&self, other: &Timing) -> bool { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
(&Timing::Metrical(ref __self_0), &Timing::Metrical(ref __arg_1_0)) => { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
), | |
::core::cmp::Ordering::Greater, | |
) == ::core::cmp::Ordering::Less | |
} | |
( | |
&Timing::Real(ref __self_0, ref __self_1), | |
&Timing::Real(ref __arg_1_0, ref __arg_1_1), | |
) => { | |
::core::cmp::Ordering::then_with( | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
), | |
::core::cmp::Ordering::Equal, | |
), | |
|| { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_1), | |
&(*__arg_1_1), | |
), | |
::core::cmp::Ordering::Greater, | |
) | |
}, | |
) == ::core::cmp::Ordering::Less | |
} | |
_ => unsafe { ::core::intrinsics::unreachable() }, | |
} | |
} else { | |
__self_vi.lt(&__arg_1_vi) | |
} | |
} | |
} | |
#[inline] | |
fn le(&self, other: &Timing) -> bool { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
(&Timing::Metrical(ref __self_0), &Timing::Metrical(ref __arg_1_0)) => { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
), | |
::core::cmp::Ordering::Greater, | |
) != ::core::cmp::Ordering::Greater | |
} | |
( | |
&Timing::Real(ref __self_0, ref __self_1), | |
&Timing::Real(ref __arg_1_0, ref __arg_1_1), | |
) => { | |
::core::cmp::Ordering::then_with( | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
), | |
::core::cmp::Ordering::Equal, | |
), | |
|| { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_1), | |
&(*__arg_1_1), | |
), | |
::core::cmp::Ordering::Greater, | |
) | |
}, | |
) != ::core::cmp::Ordering::Greater | |
} | |
_ => unsafe { ::core::intrinsics::unreachable() }, | |
} | |
} else { | |
__self_vi.le(&__arg_1_vi) | |
} | |
} | |
} | |
#[inline] | |
fn gt(&self, other: &Timing) -> bool { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
(&Timing::Metrical(ref __self_0), &Timing::Metrical(ref __arg_1_0)) => { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
), | |
::core::cmp::Ordering::Less, | |
) == ::core::cmp::Ordering::Greater | |
} | |
( | |
&Timing::Real(ref __self_0, ref __self_1), | |
&Timing::Real(ref __arg_1_0, ref __arg_1_1), | |
) => { | |
::core::cmp::Ordering::then_with( | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
), | |
::core::cmp::Ordering::Equal, | |
), | |
|| { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_1), | |
&(*__arg_1_1), | |
), | |
::core::cmp::Ordering::Less, | |
) | |
}, | |
) == ::core::cmp::Ordering::Greater | |
} | |
_ => unsafe { ::core::intrinsics::unreachable() }, | |
} | |
} else { | |
__self_vi.gt(&__arg_1_vi) | |
} | |
} | |
} | |
#[inline] | |
fn ge(&self, other: &Timing) -> bool { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
(&Timing::Metrical(ref __self_0), &Timing::Metrical(ref __arg_1_0)) => { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
), | |
::core::cmp::Ordering::Less, | |
) != ::core::cmp::Ordering::Less | |
} | |
( | |
&Timing::Real(ref __self_0, ref __self_1), | |
&Timing::Real(ref __arg_1_0, ref __arg_1_1), | |
) => { | |
::core::cmp::Ordering::then_with( | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0), | |
&(*__arg_1_0), | |
), | |
::core::cmp::Ordering::Equal, | |
), | |
|| { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_1), | |
&(*__arg_1_1), | |
), | |
::core::cmp::Ordering::Less, | |
) | |
}, | |
) != ::core::cmp::Ordering::Less | |
} | |
_ => unsafe { ::core::intrinsics::unreachable() }, | |
} | |
} else { | |
__self_vi.ge(&__arg_1_vi) | |
} | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::Ord for Timing { | |
#[inline] | |
fn cmp(&self, other: &Timing) -> ::core::cmp::Ordering { | |
{ | |
let __self_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*self) } as isize; | |
let __arg_1_vi = | |
unsafe { ::core::intrinsics::discriminant_value(&*other) } as isize; | |
if true && __self_vi == __arg_1_vi { | |
match (&*self, &*other) { | |
(&Timing::Metrical(ref __self_0), &Timing::Metrical(ref __arg_1_0)) => { | |
match ::core::cmp::Ord::cmp(&(*__self_0), &(*__arg_1_0)) { | |
::core::cmp::Ordering::Equal => ::core::cmp::Ordering::Equal, | |
cmp => cmp, | |
} | |
} | |
( | |
&Timing::Real(ref __self_0, ref __self_1), | |
&Timing::Real(ref __arg_1_0, ref __arg_1_1), | |
) => match ::core::cmp::Ord::cmp(&(*__self_0), &(*__arg_1_0)) { | |
::core::cmp::Ordering::Equal => { | |
match ::core::cmp::Ord::cmp(&(*__self_1), &(*__arg_1_1)) { | |
::core::cmp::Ordering::Equal => { | |
::core::cmp::Ordering::Equal | |
} | |
cmp => cmp, | |
} | |
} | |
cmp => cmp, | |
}, | |
_ => unsafe { ::core::intrinsics::unreachable() }, | |
} | |
} else { | |
__self_vi.cmp(&__arg_1_vi) | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_Timing: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for Timing { | |
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "variant identifier") | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"variant index 0 <= i < 2", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"Metrical" => _serde::export::Ok(__Field::__field0), | |
"Real" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"Metrical" => _serde::export::Ok(__Field::__field0), | |
b"Real" => _serde::export::Ok(__Field::__field1), | |
_ => { | |
let __value = &_serde::export::from_utf8_lossy(__value); | |
_serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)) | |
} | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<Timing>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = Timing; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "enum Timing") | |
} | |
fn visit_enum<__A>( | |
self, | |
__data: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::EnumAccess<'de>, | |
{ | |
match match _serde::de::EnumAccess::variant(__data) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
(__Field::__field0, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<u16>(__variant), | |
Timing::Metrical, | |
), | |
(__Field::__field1, __variant) => { | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<Timing>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = Timing; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"tuple variant Timing::Real", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
SMPTETimecode, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "tuple variant Timing::Real with 2 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::<u8>( | |
&mut __seq, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "tuple variant Timing::Real with 2 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(Timing::Real(__field0, __field1)) | |
} | |
} | |
_serde::de::VariantAccess::tuple_variant( | |
__variant, | |
2usize, | |
__Visitor { | |
marker: _serde::export::PhantomData::<Timing>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
} | |
} | |
const VARIANTS: &'static [&'static str] = &["Metrical", "Real"]; | |
_serde::Deserializer::deserialize_enum( | |
__deserializer, | |
"Timing", | |
VARIANTS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<Timing>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_Timing: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for Timing { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
match *self { | |
Timing::Metrical(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"Timing", | |
0u32, | |
"Metrical", | |
__field0, | |
) | |
} | |
Timing::Real(ref __field0, ref __field1) => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_tuple_variant( | |
__serializer, | |
"Timing", | |
1u32, | |
"Real", | |
0 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeTupleVariant::serialize_field( | |
&mut __serde_state, | |
__field0, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeTupleVariant::serialize_field( | |
&mut __serde_state, | |
__field1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeTupleVariant::end(__serde_state) | |
} | |
} | |
} | |
} | |
}; | |
impl BinRead for Timing { | |
type Args = (); | |
fn read_options<R: Read + Seek>( | |
reader: &mut R, | |
_: &ReadOptions, | |
_: (), | |
) -> BinResult<Self> { | |
let short = reader.read_type::<i16>(Big)?; | |
if short > 0 { | |
Ok(Timing::Metrical(short as u16)) | |
} else { | |
let timecode_amount = -((short >> 8) as i8); | |
let timecode = SMPTETimecode::from(timecode_amount as u32) | |
.or_else(|_| Err(Error::from(ErrorKind::InvalidData)))?; | |
Ok(Timing::Real(timecode, (short & 0xff) as u8)) | |
} | |
} | |
} | |
} | |
mod track { | |
use super::event::{Event, EventWithRet}; | |
use binread::io::{Read, Seek, SeekFrom}; | |
use binread::Endian::Big; | |
use binread::{BinRead, BinReaderExt, BinResult, ReadOptions}; | |
use serde::{Deserialize, Serialize}; | |
#[br(magic = b"MTrk")] | |
pub struct Track { | |
# [ br ( parse_with = read_events ) ] | |
events: Vec<Event>, | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for Track { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match *self { | |
Track { | |
events: ref __self_0_0, | |
} => { | |
let mut debug_trait_builder = f.debug_struct("Track"); | |
let _ = debug_trait_builder.field("events", &&(*__self_0_0)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_Track: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for Track { | |
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "field identifier") | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"field index 0 <= i < 1", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"events" => _serde::export::Ok(__Field::__field0), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"events" => _serde::export::Ok(__Field::__field0), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<Track>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = Track; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "struct Track") | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = match match _serde::de::SeqAccess::next_element::< | |
Vec<Event>, | |
>(&mut __seq) | |
{ | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err(_serde::de::Error::invalid_length( | |
0usize, | |
&"struct Track with 1 element", | |
)); | |
} | |
}; | |
_serde::export::Ok(Track { events: __field0 }) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<Vec<Event>> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>(&mut __map) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some(&__field0) { | |
return _serde::export::Err( | |
<__A::Error as _serde::de::Error>::duplicate_field( | |
"events", | |
), | |
); | |
} | |
__field0 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::<Vec<Event>>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
_ => { | |
let _ = match _serde::de::MapAccess::next_value::< | |
_serde::de::IgnoredAny, | |
>( | |
&mut __map | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("events") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(Track { events: __field0 }) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["events"]; | |
_serde::Deserializer::deserialize_struct( | |
__deserializer, | |
"Track", | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<Track>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_Track: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for Track { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
let mut __serde_state = match _serde::Serializer::serialize_struct( | |
__serializer, | |
"Track", | |
false as usize + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"events", | |
&self.events, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStruct::end(__serde_state) | |
} | |
} | |
}; | |
#[allow(warnings)] | |
impl ::binread::BinRead for Track { | |
type Args = (); | |
fn read_options<R: ::binread::io::Read + ::binread::io::Seek>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<Self> { | |
let () = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
::binread::error::magic( | |
__binread_generated_var_reader, | |
*b"MTrk", | |
__binread_generated_var_options, | |
)?; | |
let __events_binwrite_generated_args = (); | |
let __events_binwrite_generated_options = __binread_generated_var_options; | |
let mut events: Vec<Event> = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((read_events( | |
__binread_generated_var_reader, | |
__events_binwrite_generated_options, | |
__events_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__events_binwrite_generated_options, | |
__events_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut events, | |
__binread_generated_var_reader, | |
__events_binwrite_generated_options, | |
__events_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(Self { events }) | |
} | |
fn after_parse<R: ::binread::io::Read + ::binread::io::Seek>( | |
&mut self, | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<()> { | |
Ok(()) | |
} | |
} | |
fn read_events<R: Read + Seek>( | |
reader: &mut R, | |
ro: &ReadOptions, | |
_: (), | |
) -> BinResult<Vec<Event>> { | |
let length = reader.read_type::<u32>(Big)?; | |
let mut events = Vec::<Event>::new(); | |
let end = reader.seek(SeekFrom::Current(0))? as u32 + length; | |
let mut running_status = None; | |
while (reader.seek(SeekFrom::Current(0))? as u32) < end { | |
let EventWithRet(event, status) = | |
EventWithRet::read_options(reader, ro, running_status)?; | |
running_status = status; | |
events.push(event); | |
} | |
Ok(events) | |
} | |
} | |
mod var_length_value { | |
use crate::utils::Bounded; | |
use binread::io::{Read, Seek, SeekFrom}; | |
use binread::{BinRead, BinResult, ReadOptions}; | |
use serde::{Deserialize, Serialize}; | |
pub struct VarLengthValue(# [ br ( parse_with = read ) ] pub(crate) u32); | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for VarLengthValue { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match *self { | |
VarLengthValue(ref __self_0_0) => { | |
let mut debug_trait_builder = f.debug_tuple("VarLengthValue"); | |
let _ = debug_trait_builder.field(&&(*__self_0_0)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::clone::Clone for VarLengthValue { | |
#[inline] | |
fn clone(&self) -> VarLengthValue { | |
{ | |
let _: ::core::clone::AssertParamIsClone<u32>; | |
*self | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::marker::Copy for VarLengthValue {} | |
impl ::core::marker::StructuralPartialEq for VarLengthValue {} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::PartialEq for VarLengthValue { | |
#[inline] | |
fn eq(&self, other: &VarLengthValue) -> bool { | |
match *other { | |
VarLengthValue(ref __self_1_0) => match *self { | |
VarLengthValue(ref __self_0_0) => (*__self_0_0) == (*__self_1_0), | |
}, | |
} | |
} | |
#[inline] | |
fn ne(&self, other: &VarLengthValue) -> bool { | |
match *other { | |
VarLengthValue(ref __self_1_0) => match *self { | |
VarLengthValue(ref __self_0_0) => (*__self_0_0) != (*__self_1_0), | |
}, | |
} | |
} | |
} | |
impl ::core::marker::StructuralEq for VarLengthValue {} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::Eq for VarLengthValue { | |
#[inline] | |
#[doc(hidden)] | |
fn assert_receiver_is_total_eq(&self) -> () { | |
{ | |
let _: ::core::cmp::AssertParamIsEq<u32>; | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::PartialOrd for VarLengthValue { | |
#[inline] | |
fn partial_cmp( | |
&self, | |
other: &VarLengthValue, | |
) -> ::core::option::Option<::core::cmp::Ordering> { | |
match *other { | |
VarLengthValue(ref __self_1_0) => match *self { | |
VarLengthValue(ref __self_0_0) => { | |
match ::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0_0), | |
&(*__self_1_0), | |
) { | |
::core::option::Option::Some(::core::cmp::Ordering::Equal) => { | |
::core::option::Option::Some(::core::cmp::Ordering::Equal) | |
} | |
cmp => cmp, | |
} | |
} | |
}, | |
} | |
} | |
#[inline] | |
fn lt(&self, other: &VarLengthValue) -> bool { | |
match *other { | |
VarLengthValue(ref __self_1_0) => match *self { | |
VarLengthValue(ref __self_0_0) => { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0_0), | |
&(*__self_1_0), | |
), | |
::core::cmp::Ordering::Greater, | |
) == ::core::cmp::Ordering::Less | |
} | |
}, | |
} | |
} | |
#[inline] | |
fn le(&self, other: &VarLengthValue) -> bool { | |
match *other { | |
VarLengthValue(ref __self_1_0) => match *self { | |
VarLengthValue(ref __self_0_0) => { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0_0), | |
&(*__self_1_0), | |
), | |
::core::cmp::Ordering::Greater, | |
) != ::core::cmp::Ordering::Greater | |
} | |
}, | |
} | |
} | |
#[inline] | |
fn gt(&self, other: &VarLengthValue) -> bool { | |
match *other { | |
VarLengthValue(ref __self_1_0) => match *self { | |
VarLengthValue(ref __self_0_0) => { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0_0), | |
&(*__self_1_0), | |
), | |
::core::cmp::Ordering::Less, | |
) == ::core::cmp::Ordering::Greater | |
} | |
}, | |
} | |
} | |
#[inline] | |
fn ge(&self, other: &VarLengthValue) -> bool { | |
match *other { | |
VarLengthValue(ref __self_1_0) => match *self { | |
VarLengthValue(ref __self_0_0) => { | |
::core::option::Option::unwrap_or( | |
::core::cmp::PartialOrd::partial_cmp( | |
&(*__self_0_0), | |
&(*__self_1_0), | |
), | |
::core::cmp::Ordering::Less, | |
) != ::core::cmp::Ordering::Less | |
} | |
}, | |
} | |
} | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::cmp::Ord for VarLengthValue { | |
#[inline] | |
fn cmp(&self, other: &VarLengthValue) -> ::core::cmp::Ordering { | |
match *other { | |
VarLengthValue(ref __self_1_0) => match *self { | |
VarLengthValue(ref __self_0_0) => { | |
match ::core::cmp::Ord::cmp(&(*__self_0_0), &(*__self_1_0)) { | |
::core::cmp::Ordering::Equal => ::core::cmp::Ordering::Equal, | |
cmp => cmp, | |
} | |
} | |
}, | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_VarLengthValue: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for VarLengthValue { | |
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<VarLengthValue>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = VarLengthValue; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"tuple struct VarLengthValue", | |
) | |
} | |
#[inline] | |
fn visit_newtype_struct<__E>( | |
self, | |
__e: __E, | |
) -> _serde::export::Result<Self::Value, __E::Error> | |
where | |
__E: _serde::Deserializer<'de>, | |
{ | |
let __field0: u32 = match <u32 as _serde::Deserialize>::deserialize(__e) | |
{ | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::export::Ok(VarLengthValue(__field0)) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = match match _serde::de::SeqAccess::next_element::<u32>( | |
&mut __seq, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err(_serde::de::Error::invalid_length( | |
0usize, | |
&"tuple struct VarLengthValue with 1 element", | |
)); | |
} | |
}; | |
_serde::export::Ok(VarLengthValue(__field0)) | |
} | |
} | |
_serde::Deserializer::deserialize_newtype_struct( | |
__deserializer, | |
"VarLengthValue", | |
__Visitor { | |
marker: _serde::export::PhantomData::<VarLengthValue>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_VarLengthValue: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for VarLengthValue { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
_serde::Serializer::serialize_newtype_struct( | |
__serializer, | |
"VarLengthValue", | |
&self.0, | |
) | |
} | |
} | |
}; | |
#[allow(warnings)] | |
impl ::binread::BinRead for VarLengthValue { | |
type Args = (); | |
fn read_options<R: ::binread::io::Read + ::binread::io::Seek>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<Self> { | |
let () = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = __binread_generated_var_options; | |
let mut self_0: u32 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((read( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(Self(self_0)) | |
} | |
fn after_parse<R: ::binread::io::Read + ::binread::io::Seek>( | |
&mut self, | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<()> { | |
Ok(()) | |
} | |
} | |
fn read<R: Read + Seek>(reader: &mut R, _: &ReadOptions, _: ()) -> BinResult<u32> { | |
{ | |
::std::io::_print(::core::fmt::Arguments::new_v1( | |
&["Current location: 0x", "\n"], | |
&match (&reader.seek(SeekFrom::Current(0))?,) { | |
(arg0,) => [::core::fmt::ArgumentV1::new( | |
arg0, | |
::core::fmt::LowerHex::fmt, | |
)], | |
}, | |
)); | |
}; | |
let mut value = 0u32; | |
let max_bytes = 4; | |
for _ in 0..max_bytes { | |
let byte = u8::read(reader)? as u32; | |
value |= byte & 0x7f; | |
if (byte & 0x80) != 0 { | |
value <<= 7; | |
} else { | |
break; | |
} | |
} | |
Ok(VarLengthValue::bounded(value)) | |
} | |
impl From<u32> for VarLengthValue { | |
fn from(value: u32) -> VarLengthValue { | |
Self(Self::bounded(value)) | |
} | |
} | |
impl Into<u32> for VarLengthValue { | |
fn into(self) -> u32 { | |
self.0 | |
} | |
} | |
impl Bounded<u32> for VarLengthValue { | |
const MIN: u32 = 0; | |
const MAX: u32 = 0x0fff_ffff; | |
} | |
} | |
pub mod event { | |
mod meta_event { | |
use crate::midi::VarLengthValue; | |
use binread::BinRead; | |
use serde::{Deserialize, Serialize}; | |
pub struct MetaEvent { | |
meta_type: u8, | |
length: VarLengthValue, | |
#[br(args(meta_type, length))] | |
pub variant: MetaEventType, | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for MetaEvent { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match *self { | |
MetaEvent { | |
meta_type: ref __self_0_0, | |
length: ref __self_0_1, | |
variant: ref __self_0_2, | |
} => { | |
let mut debug_trait_builder = f.debug_struct("MetaEvent"); | |
let _ = debug_trait_builder.field("meta_type", &&(*__self_0_0)); | |
let _ = debug_trait_builder.field("length", &&(*__self_0_1)); | |
let _ = debug_trait_builder.field("variant", &&(*__self_0_2)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_MetaEvent: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for MetaEvent { | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__field2, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
2u64 => _serde::export::Ok(__Field::__field2), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"field index 0 <= i < 3", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"meta_type" => _serde::export::Ok(__Field::__field0), | |
"length" => _serde::export::Ok(__Field::__field1), | |
"variant" => _serde::export::Ok(__Field::__field2), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"meta_type" => _serde::export::Ok(__Field::__field0), | |
b"length" => _serde::export::Ok(__Field::__field1), | |
b"variant" => _serde::export::Ok(__Field::__field2), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MetaEvent>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MetaEvent; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct MetaEvent", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = match match _serde::de::SeqAccess::next_element::<u8>( | |
&mut __seq, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err( | |
_serde::de::Error::invalid_length( | |
0usize, | |
&"struct MetaEvent with 3 elements", | |
), | |
); | |
} | |
}; | |
let __field1 = match match _serde::de::SeqAccess::next_element::< | |
VarLengthValue, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err( | |
_serde::de::Error::invalid_length( | |
1usize, | |
&"struct MetaEvent with 3 elements", | |
), | |
); | |
} | |
}; | |
let __field2 = match match _serde::de::SeqAccess::next_element::< | |
MetaEventType, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err( | |
_serde::de::Error::invalid_length( | |
2usize, | |
&"struct MetaEvent with 3 elements", | |
), | |
); | |
} | |
}; | |
_serde::export::Ok(MetaEvent { | |
meta_type: __field0, | |
length: __field1, | |
variant: __field2, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = _serde::export::None; | |
let mut __field1: _serde::export::Option<VarLengthValue> = | |
_serde::export::None; | |
let mut __field2: _serde::export::Option<MetaEventType> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>(&mut __map) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some(&__field0) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "meta_type" ) ) ; | |
} | |
__field0 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::<u8>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some(&__field1) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "length" ) ) ; | |
} | |
__field1 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::< | |
VarLengthValue, | |
>( | |
&mut __map | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
__Field::__field2 => { | |
if _serde::export::Option::is_some(&__field2) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "variant" ) ) ; | |
} | |
__field2 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::< | |
MetaEventType, | |
>( | |
&mut __map | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
_ => { | |
let _ = match _serde::de::MapAccess::next_value::< | |
_serde::de::IgnoredAny, | |
>( | |
&mut __map | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("meta_type") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("length") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field2 = match __field2 { | |
_serde::export::Some(__field2) => __field2, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("variant") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MetaEvent { | |
meta_type: __field0, | |
length: __field1, | |
variant: __field2, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["meta_type", "length", "variant"]; | |
_serde::Deserializer::deserialize_struct( | |
__deserializer, | |
"MetaEvent", | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MetaEvent>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_MetaEvent: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for MetaEvent { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
let mut __serde_state = match _serde::Serializer::serialize_struct( | |
__serializer, | |
"MetaEvent", | |
false as usize + 1 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"meta_type", | |
&self.meta_type, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"length", | |
&self.length, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"variant", | |
&self.variant, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStruct::end(__serde_state) | |
} | |
} | |
}; | |
#[allow(warnings)] | |
impl ::binread::BinRead for MetaEvent { | |
type Args = (); | |
fn read_options<R: ::binread::io::Read + ::binread::io::Seek>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<Self> { | |
let () = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __meta_type_binwrite_generated_args = (); | |
let __meta_type_binwrite_generated_options = __binread_generated_var_options; | |
let mut meta_type: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__meta_type_binwrite_generated_options, | |
__meta_type_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__meta_type_binwrite_generated_options, | |
__meta_type_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __length_binwrite_generated_args = (); | |
let __length_binwrite_generated_options = __binread_generated_var_options; | |
let mut length: VarLengthValue = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__length_binwrite_generated_options, | |
__length_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__length_binwrite_generated_options, | |
__length_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __variant_binwrite_generated_args = ((|| meta_type)(), (|| length)()); | |
let __variant_binwrite_generated_options = __binread_generated_var_options; | |
let mut variant: MetaEventType = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__variant_binwrite_generated_options, | |
__variant_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__variant_binwrite_generated_options, | |
__variant_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut meta_type, | |
__binread_generated_var_reader, | |
__meta_type_binwrite_generated_options, | |
__meta_type_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut length, | |
__binread_generated_var_reader, | |
__length_binwrite_generated_options, | |
__length_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut variant, | |
__binread_generated_var_reader, | |
__variant_binwrite_generated_options, | |
__variant_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(Self { | |
meta_type, | |
length, | |
variant, | |
}) | |
} | |
fn after_parse<R: ::binread::io::Read + ::binread::io::Seek>( | |
&mut self, | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<()> { | |
Ok(()) | |
} | |
} | |
# [ br ( import ( ty : u8 , len : VarLengthValue ) ) ] | |
pub enum MetaEventType { | |
# [ br ( assert ( ty == 0 ) ) ] | |
SequenceNumber(# [ br ( if ( len . 0 == 2 ) ) ] Option<u16>), | |
# [ br ( assert ( ty == 1 ) ) ] | |
Text( | |
# [ br ( count = len . 0 ) ] | |
# [ br ( map = | v : Vec < u8 > | String :: from_utf8_lossy ( & v ) . to_string ( ) ) ] | |
String, | |
), | |
# [ br ( assert ( ty == 2 ) ) ] | |
Copyright( | |
# [ br ( count = len . 0 ) ] | |
# [ br ( map = | v : Vec < u8 > | String :: from_utf8_lossy ( & v ) . to_string ( ) ) ] | |
String, | |
), | |
# [ br ( assert ( ty == 3 ) ) ] | |
TrackName( | |
# [ br ( count = len . 0 ) ] | |
# [ br ( map = | v : Vec < u8 > | String :: from_utf8_lossy ( & v ) . to_string ( ) ) ] | |
String, | |
), | |
# [ br ( assert ( ty == 4 ) ) ] | |
Instrument( | |
# [ br ( count = len . 0 ) ] | |
# [ br ( map = | v : Vec < u8 > | String :: from_utf8_lossy ( & v ) . to_string ( ) ) ] | |
String, | |
), | |
# [ br ( assert ( ty == 5 ) ) ] | |
Lyric( | |
# [ br ( count = len . 0 ) ] | |
# [ br ( map = | v : Vec < u8 > | String :: from_utf8_lossy ( & v ) . to_string ( ) ) ] | |
String, | |
), | |
# [ br ( assert ( ty == 6 ) ) ] | |
Marker( | |
# [ br ( count = len . 0 ) ] | |
# [ br ( map = | v : Vec < u8 > | String :: from_utf8_lossy ( & v ) . to_string ( ) ) ] | |
String, | |
), | |
# [ br ( assert ( ty == 7 ) ) ] | |
CuePoint( | |
# [ br ( count = len . 0 ) ] | |
# [ br ( map = | v : Vec < u8 > | String :: from_utf8_lossy ( & v ) . to_string ( ) ) ] | |
String, | |
), | |
# [ br ( assert ( ty == 8 ) ) ] | |
ProgramName( | |
# [ br ( count = len . 0 ) ] | |
# [ br ( map = | v : Vec < u8 > | String :: from_utf8_lossy ( & v ) . to_string ( ) ) ] | |
String, | |
), | |
# [ br ( assert ( ty == 9 ) ) ] | |
DeviceName( | |
# [ br ( count = len . 0 ) ] | |
# [ br ( map = | v : Vec < u8 > | String :: from_utf8_lossy ( & v ) . to_string ( ) ) ] | |
String, | |
), | |
# [ br ( assert ( ty == 0x20 ) ) ] | |
MidiChannelPrefix(u8), | |
# [ br ( assert ( ty == 0x21 ) ) ] | |
MidiPort(u8), | |
# [ br ( assert ( ty == 0x2f ) ) ] | |
EndOfTrack, | |
# [ br ( assert ( ty == 0x51 ) ) ] | |
Tempo { | |
ms_per_beat: u32, | |
}, | |
# [ br ( assert ( ty == 0x54 ) ) ] | |
SMPTEOffset { | |
hours: u8, | |
minutes: u8, | |
seconds: u8, | |
fr: u8, | |
ff: u8, | |
}, | |
# [ br ( assert ( ty == 0x58 ) ) ] | |
TimeSignature { | |
numerator: u8, | |
denominator: u8, | |
clocks_per_metronome: u8, | |
something: u8, | |
}, | |
# [ br ( assert ( ty == 0x59 ) ) ] | |
KeySignature { | |
sf: i8, | |
mi: u8, | |
}, | |
Unsupported(# [ br ( count = len . 0 ) ] Vec<u8>), | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for MetaEventType { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match (&*self,) { | |
(&MetaEventType::SequenceNumber(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("SequenceNumber"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::Text(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("Text"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::Copyright(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("Copyright"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::TrackName(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("TrackName"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::Instrument(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("Instrument"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::Lyric(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("Lyric"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::Marker(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("Marker"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::CuePoint(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("CuePoint"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::ProgramName(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("ProgramName"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::DeviceName(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("DeviceName"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::MidiChannelPrefix(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("MidiChannelPrefix"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::MidiPort(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("MidiPort"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::EndOfTrack,) => { | |
let mut debug_trait_builder = f.debug_tuple("EndOfTrack"); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::Tempo { | |
ms_per_beat: ref __self_0, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("Tempo"); | |
let _ = debug_trait_builder.field("ms_per_beat", &&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::SMPTEOffset { | |
hours: ref __self_0, | |
minutes: ref __self_1, | |
seconds: ref __self_2, | |
fr: ref __self_3, | |
ff: ref __self_4, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("SMPTEOffset"); | |
let _ = debug_trait_builder.field("hours", &&(*__self_0)); | |
let _ = debug_trait_builder.field("minutes", &&(*__self_1)); | |
let _ = debug_trait_builder.field("seconds", &&(*__self_2)); | |
let _ = debug_trait_builder.field("fr", &&(*__self_3)); | |
let _ = debug_trait_builder.field("ff", &&(*__self_4)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::TimeSignature { | |
numerator: ref __self_0, | |
denominator: ref __self_1, | |
clocks_per_metronome: ref __self_2, | |
something: ref __self_3, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("TimeSignature"); | |
let _ = debug_trait_builder.field("numerator", &&(*__self_0)); | |
let _ = debug_trait_builder.field("denominator", &&(*__self_1)); | |
let _ = | |
debug_trait_builder.field("clocks_per_metronome", &&(*__self_2)); | |
let _ = debug_trait_builder.field("something", &&(*__self_3)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::KeySignature { | |
sf: ref __self_0, | |
mi: ref __self_1, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("KeySignature"); | |
let _ = debug_trait_builder.field("sf", &&(*__self_0)); | |
let _ = debug_trait_builder.field("mi", &&(*__self_1)); | |
debug_trait_builder.finish() | |
} | |
(&MetaEventType::Unsupported(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("Unsupported"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_MetaEventType: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for MetaEventType { | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__field2, | |
__field3, | |
__field4, | |
__field5, | |
__field6, | |
__field7, | |
__field8, | |
__field9, | |
__field10, | |
__field11, | |
__field12, | |
__field13, | |
__field14, | |
__field15, | |
__field16, | |
__field17, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"variant identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
2u64 => _serde::export::Ok(__Field::__field2), | |
3u64 => _serde::export::Ok(__Field::__field3), | |
4u64 => _serde::export::Ok(__Field::__field4), | |
5u64 => _serde::export::Ok(__Field::__field5), | |
6u64 => _serde::export::Ok(__Field::__field6), | |
7u64 => _serde::export::Ok(__Field::__field7), | |
8u64 => _serde::export::Ok(__Field::__field8), | |
9u64 => _serde::export::Ok(__Field::__field9), | |
10u64 => _serde::export::Ok(__Field::__field10), | |
11u64 => _serde::export::Ok(__Field::__field11), | |
12u64 => _serde::export::Ok(__Field::__field12), | |
13u64 => _serde::export::Ok(__Field::__field13), | |
14u64 => _serde::export::Ok(__Field::__field14), | |
15u64 => _serde::export::Ok(__Field::__field15), | |
16u64 => _serde::export::Ok(__Field::__field16), | |
17u64 => _serde::export::Ok(__Field::__field17), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"variant index 0 <= i < 18", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"SequenceNumber" => _serde::export::Ok(__Field::__field0), | |
"Text" => _serde::export::Ok(__Field::__field1), | |
"Copyright" => _serde::export::Ok(__Field::__field2), | |
"TrackName" => _serde::export::Ok(__Field::__field3), | |
"Instrument" => _serde::export::Ok(__Field::__field4), | |
"Lyric" => _serde::export::Ok(__Field::__field5), | |
"Marker" => _serde::export::Ok(__Field::__field6), | |
"CuePoint" => _serde::export::Ok(__Field::__field7), | |
"ProgramName" => _serde::export::Ok(__Field::__field8), | |
"DeviceName" => _serde::export::Ok(__Field::__field9), | |
"MidiChannelPrefix" => _serde::export::Ok(__Field::__field10), | |
"MidiPort" => _serde::export::Ok(__Field::__field11), | |
"EndOfTrack" => _serde::export::Ok(__Field::__field12), | |
"Tempo" => _serde::export::Ok(__Field::__field13), | |
"SMPTEOffset" => _serde::export::Ok(__Field::__field14), | |
"TimeSignature" => _serde::export::Ok(__Field::__field15), | |
"KeySignature" => _serde::export::Ok(__Field::__field16), | |
"Unsupported" => _serde::export::Ok(__Field::__field17), | |
_ => _serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"SequenceNumber" => _serde::export::Ok(__Field::__field0), | |
b"Text" => _serde::export::Ok(__Field::__field1), | |
b"Copyright" => _serde::export::Ok(__Field::__field2), | |
b"TrackName" => _serde::export::Ok(__Field::__field3), | |
b"Instrument" => _serde::export::Ok(__Field::__field4), | |
b"Lyric" => _serde::export::Ok(__Field::__field5), | |
b"Marker" => _serde::export::Ok(__Field::__field6), | |
b"CuePoint" => _serde::export::Ok(__Field::__field7), | |
b"ProgramName" => _serde::export::Ok(__Field::__field8), | |
b"DeviceName" => _serde::export::Ok(__Field::__field9), | |
b"MidiChannelPrefix" => _serde::export::Ok(__Field::__field10), | |
b"MidiPort" => _serde::export::Ok(__Field::__field11), | |
b"EndOfTrack" => _serde::export::Ok(__Field::__field12), | |
b"Tempo" => _serde::export::Ok(__Field::__field13), | |
b"SMPTEOffset" => _serde::export::Ok(__Field::__field14), | |
b"TimeSignature" => _serde::export::Ok(__Field::__field15), | |
b"KeySignature" => _serde::export::Ok(__Field::__field16), | |
b"Unsupported" => _serde::export::Ok(__Field::__field17), | |
_ => { | |
let __value = &_serde::export::from_utf8_lossy(__value); | |
_serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)) | |
} | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MetaEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MetaEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"enum MetaEventType", | |
) | |
} | |
fn visit_enum<__A>( | |
self, | |
__data: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::EnumAccess<'de>, | |
{ | |
match match _serde::de::EnumAccess::variant(__data) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
(__Field::__field0, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<Option<u16>>( | |
__variant, | |
), | |
MetaEventType::SequenceNumber, | |
), | |
(__Field::__field1, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<String>( | |
__variant, | |
), | |
MetaEventType::Text, | |
), | |
(__Field::__field2, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<String>( | |
__variant, | |
), | |
MetaEventType::Copyright, | |
), | |
(__Field::__field3, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<String>( | |
__variant, | |
), | |
MetaEventType::TrackName, | |
), | |
(__Field::__field4, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<String>( | |
__variant, | |
), | |
MetaEventType::Instrument, | |
), | |
(__Field::__field5, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<String>( | |
__variant, | |
), | |
MetaEventType::Lyric, | |
), | |
(__Field::__field6, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<String>( | |
__variant, | |
), | |
MetaEventType::Marker, | |
), | |
(__Field::__field7, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<String>( | |
__variant, | |
), | |
MetaEventType::CuePoint, | |
), | |
(__Field::__field8, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<String>( | |
__variant, | |
), | |
MetaEventType::ProgramName, | |
), | |
(__Field::__field9, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<String>( | |
__variant, | |
), | |
MetaEventType::DeviceName, | |
), | |
(__Field::__field10, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<u8>(__variant), | |
MetaEventType::MidiChannelPrefix, | |
), | |
(__Field::__field11, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<u8>(__variant), | |
MetaEventType::MidiPort, | |
), | |
(__Field::__field12, __variant) => { | |
match _serde::de::VariantAccess::unit_variant(__variant) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::export::Ok(MetaEventType::EndOfTrack) | |
} | |
(__Field::__field13, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 1", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"ms_per_beat" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"ms_per_beat" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MetaEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MetaEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MetaEventType::Tempo", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u32, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MetaEventType::Tempo with 1 element" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MetaEventType::Tempo { | |
ms_per_beat: __field0, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u32> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "ms_per_beat" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u32 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"ms_per_beat", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MetaEventType::Tempo { | |
ms_per_beat: __field0, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["ms_per_beat"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MetaEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field14, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__field2, | |
__field3, | |
__field4, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
2u64 => _serde::export::Ok(__Field::__field2), | |
3u64 => _serde::export::Ok(__Field::__field3), | |
4u64 => _serde::export::Ok(__Field::__field4), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 5", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"hours" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
"minutes" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
"seconds" => { | |
_serde::export::Ok(__Field::__field2) | |
} | |
"fr" => _serde::export::Ok(__Field::__field3), | |
"ff" => _serde::export::Ok(__Field::__field4), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"hours" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
b"minutes" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
b"seconds" => { | |
_serde::export::Ok(__Field::__field2) | |
} | |
b"fr" => _serde::export::Ok(__Field::__field3), | |
b"ff" => _serde::export::Ok(__Field::__field4), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MetaEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MetaEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MetaEventType::SMPTEOffset", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MetaEventType::SMPTEOffset with 5 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "struct variant MetaEventType::SMPTEOffset with 5 elements" ) ) ; | |
} | |
}; | |
let __field2 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 2usize , & "struct variant MetaEventType::SMPTEOffset with 5 elements" ) ) ; | |
} | |
}; | |
let __field3 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 3usize , & "struct variant MetaEventType::SMPTEOffset with 5 elements" ) ) ; | |
} | |
}; | |
let __field4 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 4usize , & "struct variant MetaEventType::SMPTEOffset with 5 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MetaEventType::SMPTEOffset { | |
hours: __field0, | |
minutes: __field1, | |
seconds: __field2, | |
fr: __field3, | |
ff: __field4, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field1: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field2: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field3: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field4: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "hours" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some( | |
&__field1, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "minutes" ) ) ; | |
} | |
__field1 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field2 => { | |
if _serde::export::Option::is_some( | |
&__field2, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "seconds" ) ) ; | |
} | |
__field2 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field3 => { | |
if _serde::export::Option::is_some( | |
&__field3, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "fr" ) ) ; | |
} | |
__field3 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field4 => { | |
if _serde::export::Option::is_some( | |
&__field4, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "ff" ) ) ; | |
} | |
__field4 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"hours", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"minutes", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field2 = match __field2 { | |
_serde::export::Some(__field2) => __field2, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"seconds", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field3 = match __field3 { | |
_serde::export::Some(__field3) => __field3, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"fr", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field4 = match __field4 { | |
_serde::export::Some(__field4) => __field4, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"ff", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MetaEventType::SMPTEOffset { | |
hours: __field0, | |
minutes: __field1, | |
seconds: __field2, | |
fr: __field3, | |
ff: __field4, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = | |
&["hours", "minutes", "seconds", "fr", "ff"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MetaEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field15, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__field2, | |
__field3, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
2u64 => _serde::export::Ok(__Field::__field2), | |
3u64 => _serde::export::Ok(__Field::__field3), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 4", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"numerator" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
"denominator" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
"clocks_per_metronome" => { | |
_serde::export::Ok(__Field::__field2) | |
} | |
"something" => { | |
_serde::export::Ok(__Field::__field3) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"numerator" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
b"denominator" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
b"clocks_per_metronome" => { | |
_serde::export::Ok(__Field::__field2) | |
} | |
b"something" => { | |
_serde::export::Ok(__Field::__field3) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MetaEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MetaEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MetaEventType::TimeSignature", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MetaEventType::TimeSignature with 4 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "struct variant MetaEventType::TimeSignature with 4 elements" ) ) ; | |
} | |
}; | |
let __field2 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 2usize , & "struct variant MetaEventType::TimeSignature with 4 elements" ) ) ; | |
} | |
}; | |
let __field3 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 3usize , & "struct variant MetaEventType::TimeSignature with 4 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MetaEventType::TimeSignature { | |
numerator: __field0, | |
denominator: __field1, | |
clocks_per_metronome: __field2, | |
something: __field3, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field1: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field2: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field3: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "numerator" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some( | |
&__field1, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "denominator" ) ) ; | |
} | |
__field1 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field2 => { | |
if _serde::export::Option::is_some( | |
&__field2, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "clocks_per_metronome" ) ) ; | |
} | |
__field2 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field3 => { | |
if _serde::export::Option::is_some( | |
&__field3, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "something" ) ) ; | |
} | |
__field3 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"numerator", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"denominator", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field2 = match __field2 { | |
_serde::export::Some(__field2) => __field2, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"clocks_per_metronome", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field3 = match __field3 { | |
_serde::export::Some(__field3) => __field3, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"something", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MetaEventType::TimeSignature { | |
numerator: __field0, | |
denominator: __field1, | |
clocks_per_metronome: __field2, | |
something: __field3, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &[ | |
"numerator", | |
"denominator", | |
"clocks_per_metronome", | |
"something", | |
]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MetaEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field16, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 2", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"sf" => _serde::export::Ok(__Field::__field0), | |
"mi" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"sf" => _serde::export::Ok(__Field::__field0), | |
b"mi" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MetaEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MetaEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MetaEventType::KeySignature", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
i8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MetaEventType::KeySignature with 2 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "struct variant MetaEventType::KeySignature with 2 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MetaEventType::KeySignature { | |
sf: __field0, | |
mi: __field1, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<i8> = | |
_serde::export::None; | |
let mut __field1: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "sf" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < i8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some( | |
&__field1, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "mi" ) ) ; | |
} | |
__field1 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"sf", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"mi", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MetaEventType::KeySignature { | |
sf: __field0, | |
mi: __field1, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["sf", "mi"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MetaEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field17, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<Vec<u8>>( | |
__variant, | |
), | |
MetaEventType::Unsupported, | |
), | |
} | |
} | |
} | |
const VARIANTS: &'static [&'static str] = &[ | |
"SequenceNumber", | |
"Text", | |
"Copyright", | |
"TrackName", | |
"Instrument", | |
"Lyric", | |
"Marker", | |
"CuePoint", | |
"ProgramName", | |
"DeviceName", | |
"MidiChannelPrefix", | |
"MidiPort", | |
"EndOfTrack", | |
"Tempo", | |
"SMPTEOffset", | |
"TimeSignature", | |
"KeySignature", | |
"Unsupported", | |
]; | |
_serde::Deserializer::deserialize_enum( | |
__deserializer, | |
"MetaEventType", | |
VARIANTS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MetaEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_MetaEventType: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for MetaEventType { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
match *self { | |
MetaEventType::SequenceNumber(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
0u32, | |
"SequenceNumber", | |
__field0, | |
) | |
} | |
MetaEventType::Text(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
1u32, | |
"Text", | |
__field0, | |
) | |
} | |
MetaEventType::Copyright(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
2u32, | |
"Copyright", | |
__field0, | |
) | |
} | |
MetaEventType::TrackName(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
3u32, | |
"TrackName", | |
__field0, | |
) | |
} | |
MetaEventType::Instrument(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
4u32, | |
"Instrument", | |
__field0, | |
) | |
} | |
MetaEventType::Lyric(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
5u32, | |
"Lyric", | |
__field0, | |
) | |
} | |
MetaEventType::Marker(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
6u32, | |
"Marker", | |
__field0, | |
) | |
} | |
MetaEventType::CuePoint(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
7u32, | |
"CuePoint", | |
__field0, | |
) | |
} | |
MetaEventType::ProgramName(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
8u32, | |
"ProgramName", | |
__field0, | |
) | |
} | |
MetaEventType::DeviceName(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
9u32, | |
"DeviceName", | |
__field0, | |
) | |
} | |
MetaEventType::MidiChannelPrefix(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
10u32, | |
"MidiChannelPrefix", | |
__field0, | |
) | |
} | |
MetaEventType::MidiPort(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
11u32, | |
"MidiPort", | |
__field0, | |
) | |
} | |
MetaEventType::EndOfTrack => { | |
_serde::Serializer::serialize_unit_variant( | |
__serializer, | |
"MetaEventType", | |
12u32, | |
"EndOfTrack", | |
) | |
} | |
MetaEventType::Tempo { ref ms_per_beat } => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MetaEventType", | |
13u32, | |
"Tempo", | |
0 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"ms_per_beat", | |
ms_per_beat, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MetaEventType::SMPTEOffset { | |
ref hours, | |
ref minutes, | |
ref seconds, | |
ref fr, | |
ref ff, | |
} => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MetaEventType", | |
14u32, | |
"SMPTEOffset", | |
0 + 1 + 1 + 1 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"hours", | |
hours, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"minutes", | |
minutes, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"seconds", | |
seconds, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"fr", | |
fr, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"ff", | |
ff, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MetaEventType::TimeSignature { | |
ref numerator, | |
ref denominator, | |
ref clocks_per_metronome, | |
ref something, | |
} => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MetaEventType", | |
15u32, | |
"TimeSignature", | |
0 + 1 + 1 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"numerator", | |
numerator, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"denominator", | |
denominator, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"clocks_per_metronome", | |
clocks_per_metronome, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"something", | |
something, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MetaEventType::KeySignature { ref sf, ref mi } => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MetaEventType", | |
16u32, | |
"KeySignature", | |
0 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"sf", | |
sf, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"mi", | |
mi, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MetaEventType::Unsupported(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"MetaEventType", | |
17u32, | |
"Unsupported", | |
__field0, | |
) | |
} | |
} | |
} | |
} | |
}; | |
#[allow(warnings)] | |
impl ::binread::BinRead for MetaEventType { | |
type Args = (u8, VarLengthValue); | |
fn read_options<R: ::binread::io::Read + ::binread::io::Seek>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<Self> { | |
let mut __binread_generated_error_basket: Vec<( | |
&'static str, | |
::binread::Error, | |
)> = ::alloc::vec::Vec::new(); | |
let __binread_generated_pos_before_variant = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
fn __binread_generated_parse_enum_MetaEventType_variant_SequenceNumber< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_cond_evaluated: bool = len.0 == 2; | |
let mut self_0: Option<u16> = | |
if (__self_0_binwrite_generated_cond_evaluated) { | |
let __binread__temp = Some(::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
} else { | |
None | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
if let Some(self_0) = self_0.as_mut() { | |
::binread::BinRead::after_parse( | |
self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::SequenceNumber(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_Text< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: String = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
(|v: Vec<u8>| String::from_utf8_lossy(&v).to_string())( | |
(::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?, | |
), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::Text(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_Copyright< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: String = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
(|v: Vec<u8>| String::from_utf8_lossy(&v).to_string())( | |
(::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?, | |
), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::Copyright(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_TrackName< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: String = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
(|v: Vec<u8>| String::from_utf8_lossy(&v).to_string())( | |
(::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?, | |
), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::TrackName(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_Instrument< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: String = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
(|v: Vec<u8>| String::from_utf8_lossy(&v).to_string())( | |
(::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?, | |
), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::Instrument(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_Lyric< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: String = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
(|v: Vec<u8>| String::from_utf8_lossy(&v).to_string())( | |
(::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?, | |
), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::Lyric(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_Marker< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: String = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
(|v: Vec<u8>| String::from_utf8_lossy(&v).to_string())( | |
(::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?, | |
), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::Marker(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_CuePoint< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: String = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
(|v: Vec<u8>| String::from_utf8_lossy(&v).to_string())( | |
(::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?, | |
), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::CuePoint(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_ProgramName< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: String = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
(|v: Vec<u8>| String::from_utf8_lossy(&v).to_string())( | |
(::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?, | |
), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::ProgramName(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_DeviceName< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: String = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
(|v: Vec<u8>| String::from_utf8_lossy(&v).to_string())( | |
(::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?, | |
), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::error::nop5( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::DeviceName(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_MidiChannelPrefix< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = __binread_generated_var_options; | |
let mut self_0: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::MidiChannelPrefix(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_MidiPort< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = __binread_generated_var_options; | |
let mut self_0: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::MidiPort(self_0)) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_EndOfTrack< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::EndOfTrack) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_Tempo< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __ms_per_beat_binwrite_generated_args = (); | |
let __ms_per_beat_binwrite_generated_options = | |
__binread_generated_var_options; | |
let mut ms_per_beat: u32 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__ms_per_beat_binwrite_generated_options, | |
__ms_per_beat_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__ms_per_beat_binwrite_generated_options, | |
__ms_per_beat_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut ms_per_beat, | |
__binread_generated_var_reader, | |
__ms_per_beat_binwrite_generated_options, | |
__ms_per_beat_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::Tempo { ms_per_beat }) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_SMPTEOffset< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __hours_binwrite_generated_args = (); | |
let __hours_binwrite_generated_options = __binread_generated_var_options; | |
let mut hours: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__hours_binwrite_generated_options, | |
__hours_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__hours_binwrite_generated_options, | |
__hours_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __minutes_binwrite_generated_args = (); | |
let __minutes_binwrite_generated_options = __binread_generated_var_options; | |
let mut minutes: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__minutes_binwrite_generated_options, | |
__minutes_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__minutes_binwrite_generated_options, | |
__minutes_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __seconds_binwrite_generated_args = (); | |
let __seconds_binwrite_generated_options = __binread_generated_var_options; | |
let mut seconds: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__seconds_binwrite_generated_options, | |
__seconds_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__seconds_binwrite_generated_options, | |
__seconds_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __fr_binwrite_generated_args = (); | |
let __fr_binwrite_generated_options = __binread_generated_var_options; | |
let mut fr: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__fr_binwrite_generated_options, | |
__fr_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__fr_binwrite_generated_options, | |
__fr_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __ff_binwrite_generated_args = (); | |
let __ff_binwrite_generated_options = __binread_generated_var_options; | |
let mut ff: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__ff_binwrite_generated_options, | |
__ff_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__ff_binwrite_generated_options, | |
__ff_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut hours, | |
__binread_generated_var_reader, | |
__hours_binwrite_generated_options, | |
__hours_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut minutes, | |
__binread_generated_var_reader, | |
__minutes_binwrite_generated_options, | |
__minutes_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut seconds, | |
__binread_generated_var_reader, | |
__seconds_binwrite_generated_options, | |
__seconds_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut fr, | |
__binread_generated_var_reader, | |
__fr_binwrite_generated_options, | |
__fr_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut ff, | |
__binread_generated_var_reader, | |
__ff_binwrite_generated_options, | |
__ff_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::SMPTEOffset { | |
hours, | |
minutes, | |
seconds, | |
fr, | |
ff, | |
}) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_TimeSignature< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __numerator_binwrite_generated_args = (); | |
let __numerator_binwrite_generated_options = | |
__binread_generated_var_options; | |
let mut numerator: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__numerator_binwrite_generated_options, | |
__numerator_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__numerator_binwrite_generated_options, | |
__numerator_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __denominator_binwrite_generated_args = (); | |
let __denominator_binwrite_generated_options = | |
__binread_generated_var_options; | |
let mut denominator: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__denominator_binwrite_generated_options, | |
__denominator_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__denominator_binwrite_generated_options, | |
__denominator_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __clocks_per_metronome_binwrite_generated_args = (); | |
let __clocks_per_metronome_binwrite_generated_options = | |
__binread_generated_var_options; | |
let mut clocks_per_metronome: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__clocks_per_metronome_binwrite_generated_options, | |
__clocks_per_metronome_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__clocks_per_metronome_binwrite_generated_options, | |
__clocks_per_metronome_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __something_binwrite_generated_args = (); | |
let __something_binwrite_generated_options = | |
__binread_generated_var_options; | |
let mut something: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__something_binwrite_generated_options, | |
__something_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__something_binwrite_generated_options, | |
__something_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut numerator, | |
__binread_generated_var_reader, | |
__numerator_binwrite_generated_options, | |
__numerator_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut denominator, | |
__binread_generated_var_reader, | |
__denominator_binwrite_generated_options, | |
__denominator_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut clocks_per_metronome, | |
__binread_generated_var_reader, | |
__clocks_per_metronome_binwrite_generated_options, | |
__clocks_per_metronome_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut something, | |
__binread_generated_var_reader, | |
__something_binwrite_generated_options, | |
__something_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::TimeSignature { | |
numerator, | |
denominator, | |
clocks_per_metronome, | |
something, | |
}) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_KeySignature< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __sf_binwrite_generated_args = (); | |
let __sf_binwrite_generated_options = __binread_generated_var_options; | |
let mut sf: i8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__sf_binwrite_generated_options, | |
__sf_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__sf_binwrite_generated_options, | |
__sf_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __mi_binwrite_generated_args = (); | |
let __mi_binwrite_generated_options = __binread_generated_var_options; | |
let mut mi: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__mi_binwrite_generated_options, | |
__mi_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__mi_binwrite_generated_options, | |
__mi_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut sf, | |
__binread_generated_var_reader, | |
__sf_binwrite_generated_options, | |
__sf_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut mi, | |
__binread_generated_var_reader, | |
__mi_binwrite_generated_options, | |
__mi_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::KeySignature { sf, mi }) | |
} | |
fn __binread_generated_parse_enum_MetaEventType_variant_Unsupported< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MetaEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MetaEventType> { | |
let (mut ty, mut len) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __self_0_binwrite_generated_args = (); | |
let __self_0_binwrite_generated_options = &{ | |
let mut temp = __binread_generated_var_options.clone(); | |
temp.count = Some((len.0) as usize); | |
temp | |
}; | |
let mut self_0: Vec<u8> = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut self_0, | |
__binread_generated_var_reader, | |
__self_0_binwrite_generated_options, | |
__self_0_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MetaEventType::Unsupported(self_0)) | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_SequenceNumber( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"SequenceNumber", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_Text( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("Text", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_Copyright( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("Copyright", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_TrackName( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("TrackName", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_Instrument( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"Instrument", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_Lyric( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("Lyric", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_Marker( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("Marker", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_CuePoint( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("CuePoint", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_ProgramName( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"ProgramName", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_DeviceName( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"DeviceName", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_MidiChannelPrefix( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"MidiChannelPrefix", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_MidiPort( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("MidiPort", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_EndOfTrack( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"EndOfTrack", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_Tempo( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("Tempo", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_SMPTEOffset( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"SMPTEOffset", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_TimeSignature( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"TimeSignature", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_KeySignature( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"KeySignature", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MetaEventType_variant_Unsupported( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"Unsupported", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
Err(::binread::Error::EnumErrors { | |
pos: __binread_generated_pos_before_variant as usize, | |
variant_errors: __binread_generated_error_basket, | |
}) | |
} | |
fn after_parse<R: ::binread::io::Read + ::binread::io::Seek>( | |
&mut self, | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<()> { | |
Ok(()) | |
} | |
} | |
} | |
mod midi_event { | |
use binread::io::{Read, Seek}; | |
use binread::{BinRead, BinResult, ReadOptions}; | |
use serde::{Deserialize, Serialize}; | |
pub struct MidiEvent { | |
channel: u8, | |
event_type: MidiEventType, | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for MidiEvent { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match *self { | |
MidiEvent { | |
channel: ref __self_0_0, | |
event_type: ref __self_0_1, | |
} => { | |
let mut debug_trait_builder = f.debug_struct("MidiEvent"); | |
let _ = debug_trait_builder.field("channel", &&(*__self_0_0)); | |
let _ = debug_trait_builder.field("event_type", &&(*__self_0_1)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_MidiEvent: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for MidiEvent { | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"field index 0 <= i < 2", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"channel" => _serde::export::Ok(__Field::__field0), | |
"event_type" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"channel" => _serde::export::Ok(__Field::__field0), | |
b"event_type" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MidiEvent>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MidiEvent; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct MidiEvent", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = match match _serde::de::SeqAccess::next_element::<u8>( | |
&mut __seq, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err( | |
_serde::de::Error::invalid_length( | |
0usize, | |
&"struct MidiEvent with 2 elements", | |
), | |
); | |
} | |
}; | |
let __field1 = match match _serde::de::SeqAccess::next_element::< | |
MidiEventType, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err( | |
_serde::de::Error::invalid_length( | |
1usize, | |
&"struct MidiEvent with 2 elements", | |
), | |
); | |
} | |
}; | |
_serde::export::Ok(MidiEvent { | |
channel: __field0, | |
event_type: __field1, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = _serde::export::None; | |
let mut __field1: _serde::export::Option<MidiEventType> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>(&mut __map) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some(&__field0) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "channel" ) ) ; | |
} | |
__field0 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::<u8>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some(&__field1) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "event_type" ) ) ; | |
} | |
__field1 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::< | |
MidiEventType, | |
>( | |
&mut __map | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
_ => { | |
let _ = match _serde::de::MapAccess::next_value::< | |
_serde::de::IgnoredAny, | |
>( | |
&mut __map | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("channel") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("event_type") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MidiEvent { | |
channel: __field0, | |
event_type: __field1, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["channel", "event_type"]; | |
_serde::Deserializer::deserialize_struct( | |
__deserializer, | |
"MidiEvent", | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MidiEvent>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_MidiEvent: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for MidiEvent { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
let mut __serde_state = match _serde::Serializer::serialize_struct( | |
__serializer, | |
"MidiEvent", | |
false as usize + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"channel", | |
&self.channel, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"event_type", | |
&self.event_type, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStruct::end(__serde_state) | |
} | |
} | |
}; | |
# [ br ( import ( event_num : u8 ) ) ] | |
pub enum MidiEventType { | |
# [ br ( assert ( event_num == 0x8 ) ) ] | |
NoteOff { note: u8, velocity: u8 }, | |
# [ br ( assert ( event_num == 0x9 ) ) ] | |
NoteOn { note: u8, velocity: u8 }, | |
# [ br ( assert ( event_num == 0xa ) ) ] | |
NotePressure { note: u8, pressure: u8 }, | |
# [ br ( assert ( event_num == 0xb ) ) ] | |
Controller { controller: u8, value: u8 }, | |
# [ br ( assert ( event_num == 0xc ) ) ] | |
Program { program: u8 }, | |
# [ br ( assert ( event_num == 0xd ) ) ] | |
Pressure { pressure: u8 }, | |
# [ br ( assert ( event_num == 0xe ) ) ] | |
PitchBend { lsb: u8, msb: u8 }, | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for MidiEventType { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match (&*self,) { | |
(&MidiEventType::NoteOff { | |
note: ref __self_0, | |
velocity: ref __self_1, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("NoteOff"); | |
let _ = debug_trait_builder.field("note", &&(*__self_0)); | |
let _ = debug_trait_builder.field("velocity", &&(*__self_1)); | |
debug_trait_builder.finish() | |
} | |
(&MidiEventType::NoteOn { | |
note: ref __self_0, | |
velocity: ref __self_1, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("NoteOn"); | |
let _ = debug_trait_builder.field("note", &&(*__self_0)); | |
let _ = debug_trait_builder.field("velocity", &&(*__self_1)); | |
debug_trait_builder.finish() | |
} | |
(&MidiEventType::NotePressure { | |
note: ref __self_0, | |
pressure: ref __self_1, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("NotePressure"); | |
let _ = debug_trait_builder.field("note", &&(*__self_0)); | |
let _ = debug_trait_builder.field("pressure", &&(*__self_1)); | |
debug_trait_builder.finish() | |
} | |
(&MidiEventType::Controller { | |
controller: ref __self_0, | |
value: ref __self_1, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("Controller"); | |
let _ = debug_trait_builder.field("controller", &&(*__self_0)); | |
let _ = debug_trait_builder.field("value", &&(*__self_1)); | |
debug_trait_builder.finish() | |
} | |
(&MidiEventType::Program { | |
program: ref __self_0, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("Program"); | |
let _ = debug_trait_builder.field("program", &&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MidiEventType::Pressure { | |
pressure: ref __self_0, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("Pressure"); | |
let _ = debug_trait_builder.field("pressure", &&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&MidiEventType::PitchBend { | |
lsb: ref __self_0, | |
msb: ref __self_1, | |
},) => { | |
let mut debug_trait_builder = f.debug_struct("PitchBend"); | |
let _ = debug_trait_builder.field("lsb", &&(*__self_0)); | |
let _ = debug_trait_builder.field("msb", &&(*__self_1)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_MidiEventType: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for MidiEventType { | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__field2, | |
__field3, | |
__field4, | |
__field5, | |
__field6, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"variant identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
2u64 => _serde::export::Ok(__Field::__field2), | |
3u64 => _serde::export::Ok(__Field::__field3), | |
4u64 => _serde::export::Ok(__Field::__field4), | |
5u64 => _serde::export::Ok(__Field::__field5), | |
6u64 => _serde::export::Ok(__Field::__field6), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"variant index 0 <= i < 7", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"NoteOff" => _serde::export::Ok(__Field::__field0), | |
"NoteOn" => _serde::export::Ok(__Field::__field1), | |
"NotePressure" => _serde::export::Ok(__Field::__field2), | |
"Controller" => _serde::export::Ok(__Field::__field3), | |
"Program" => _serde::export::Ok(__Field::__field4), | |
"Pressure" => _serde::export::Ok(__Field::__field5), | |
"PitchBend" => _serde::export::Ok(__Field::__field6), | |
_ => _serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"NoteOff" => _serde::export::Ok(__Field::__field0), | |
b"NoteOn" => _serde::export::Ok(__Field::__field1), | |
b"NotePressure" => _serde::export::Ok(__Field::__field2), | |
b"Controller" => _serde::export::Ok(__Field::__field3), | |
b"Program" => _serde::export::Ok(__Field::__field4), | |
b"Pressure" => _serde::export::Ok(__Field::__field5), | |
b"PitchBend" => _serde::export::Ok(__Field::__field6), | |
_ => { | |
let __value = &_serde::export::from_utf8_lossy(__value); | |
_serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)) | |
} | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MidiEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MidiEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"enum MidiEventType", | |
) | |
} | |
fn visit_enum<__A>( | |
self, | |
__data: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::EnumAccess<'de>, | |
{ | |
match match _serde::de::EnumAccess::variant(__data) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
(__Field::__field0, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 2", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"note" => _serde::export::Ok(__Field::__field0), | |
"velocity" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"note" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
b"velocity" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MidiEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MidiEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MidiEventType::NoteOff", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MidiEventType::NoteOff with 2 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "struct variant MidiEventType::NoteOff with 2 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MidiEventType::NoteOff { | |
note: __field0, | |
velocity: __field1, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field1: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "note" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some( | |
&__field1, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "velocity" ) ) ; | |
} | |
__field1 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"note", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"velocity", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MidiEventType::NoteOff { | |
note: __field0, | |
velocity: __field1, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = | |
&["note", "velocity"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MidiEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field1, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 2", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"note" => _serde::export::Ok(__Field::__field0), | |
"velocity" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"note" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
b"velocity" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MidiEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MidiEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MidiEventType::NoteOn", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MidiEventType::NoteOn with 2 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "struct variant MidiEventType::NoteOn with 2 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MidiEventType::NoteOn { | |
note: __field0, | |
velocity: __field1, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field1: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "note" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some( | |
&__field1, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "velocity" ) ) ; | |
} | |
__field1 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"note", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"velocity", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MidiEventType::NoteOn { | |
note: __field0, | |
velocity: __field1, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = | |
&["note", "velocity"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MidiEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field2, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 2", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"note" => _serde::export::Ok(__Field::__field0), | |
"pressure" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"note" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
b"pressure" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MidiEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MidiEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MidiEventType::NotePressure", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MidiEventType::NotePressure with 2 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "struct variant MidiEventType::NotePressure with 2 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MidiEventType::NotePressure { | |
note: __field0, | |
pressure: __field1, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field1: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "note" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some( | |
&__field1, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "pressure" ) ) ; | |
} | |
__field1 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"note", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"pressure", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MidiEventType::NotePressure { | |
note: __field0, | |
pressure: __field1, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = | |
&["note", "pressure"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MidiEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field3, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 2", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"controller" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
"value" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"controller" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
b"value" => { | |
_serde::export::Ok(__Field::__field1) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MidiEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MidiEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MidiEventType::Controller", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MidiEventType::Controller with 2 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "struct variant MidiEventType::Controller with 2 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MidiEventType::Controller { | |
controller: __field0, | |
value: __field1, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field1: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "controller" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some( | |
&__field1, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "value" ) ) ; | |
} | |
__field1 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"controller", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"value", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MidiEventType::Controller { | |
controller: __field0, | |
value: __field1, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = | |
&["controller", "value"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MidiEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field4, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 1", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"program" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"program" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MidiEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MidiEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MidiEventType::Program", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MidiEventType::Program with 1 element" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MidiEventType::Program { | |
program: __field0, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "program" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"program", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MidiEventType::Program { | |
program: __field0, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["program"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MidiEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field5, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 1", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"pressure" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"pressure" => { | |
_serde::export::Ok(__Field::__field0) | |
} | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MidiEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MidiEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MidiEventType::Pressure", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MidiEventType::Pressure with 1 element" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MidiEventType::Pressure { | |
pressure: __field0, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "pressure" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"pressure", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MidiEventType::Pressure { | |
pressure: __field0, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["pressure"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MidiEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
(__Field::__field6, __variant) => { | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"field identifier", | |
) | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err( | |
_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned( | |
__value, | |
), | |
&"field index 0 <= i < 2", | |
), | |
), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"lsb" => _serde::export::Ok(__Field::__field0), | |
"msb" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"lsb" => _serde::export::Ok(__Field::__field0), | |
b"msb" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<MidiEventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = MidiEventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"struct variant MidiEventType::PitchBend", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "struct variant MidiEventType::PitchBend with 2 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::< | |
u8, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "struct variant MidiEventType::PitchBend with 2 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(MidiEventType::PitchBend { | |
lsb: __field0, | |
msb: __field1, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<u8> = | |
_serde::export::None; | |
let mut __field1: _serde::export::Option<u8> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some( | |
&__field0, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "lsb" ) ) ; | |
} | |
__field0 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some( | |
&__field1, | |
) { | |
return _serde :: export :: Err ( < __A :: Error as _serde :: de :: Error > :: duplicate_field ( "msb" ) ) ; | |
} | |
__field1 = _serde :: export :: Some ( match _serde :: de :: MapAccess :: next_value :: < u8 > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ) ; | |
} | |
_ => { | |
let _ = match _serde :: de :: MapAccess :: next_value :: < _serde :: de :: IgnoredAny > ( & mut __map ) { _serde :: export :: Ok ( __val ) => __val , _serde :: export :: Err ( __err ) => { return _serde :: export :: Err ( __err ) ; } } ; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"lsb", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field( | |
"msb", | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(MidiEventType::PitchBend { | |
lsb: __field0, | |
msb: __field1, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["lsb", "msb"]; | |
_serde::de::VariantAccess::struct_variant( | |
__variant, | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MidiEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
} | |
} | |
const VARIANTS: &'static [&'static str] = &[ | |
"NoteOff", | |
"NoteOn", | |
"NotePressure", | |
"Controller", | |
"Program", | |
"Pressure", | |
"PitchBend", | |
]; | |
_serde::Deserializer::deserialize_enum( | |
__deserializer, | |
"MidiEventType", | |
VARIANTS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<MidiEventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_MidiEventType: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for MidiEventType { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
match *self { | |
MidiEventType::NoteOff { | |
ref note, | |
ref velocity, | |
} => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MidiEventType", | |
0u32, | |
"NoteOff", | |
0 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"note", | |
note, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"velocity", | |
velocity, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MidiEventType::NoteOn { | |
ref note, | |
ref velocity, | |
} => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MidiEventType", | |
1u32, | |
"NoteOn", | |
0 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"note", | |
note, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"velocity", | |
velocity, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MidiEventType::NotePressure { | |
ref note, | |
ref pressure, | |
} => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MidiEventType", | |
2u32, | |
"NotePressure", | |
0 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"note", | |
note, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"pressure", | |
pressure, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MidiEventType::Controller { | |
ref controller, | |
ref value, | |
} => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MidiEventType", | |
3u32, | |
"Controller", | |
0 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"controller", | |
controller, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"value", | |
value, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MidiEventType::Program { ref program } => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MidiEventType", | |
4u32, | |
"Program", | |
0 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"program", | |
program, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MidiEventType::Pressure { ref pressure } => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MidiEventType", | |
5u32, | |
"Pressure", | |
0 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"pressure", | |
pressure, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
MidiEventType::PitchBend { ref lsb, ref msb } => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_struct_variant( | |
__serializer, | |
"MidiEventType", | |
6u32, | |
"PitchBend", | |
0 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"lsb", | |
lsb, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStructVariant::serialize_field( | |
&mut __serde_state, | |
"msb", | |
msb, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStructVariant::end(__serde_state) | |
} | |
} | |
} | |
} | |
}; | |
#[allow(warnings)] | |
impl ::binread::BinRead for MidiEventType { | |
type Args = (u8,); | |
fn read_options<R: ::binread::io::Read + ::binread::io::Seek>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<Self> { | |
let mut __binread_generated_error_basket: Vec<( | |
&'static str, | |
::binread::Error, | |
)> = ::alloc::vec::Vec::new(); | |
let __binread_generated_pos_before_variant = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
fn __binread_generated_parse_enum_MidiEventType_variant_NoteOff< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MidiEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MidiEventType> { | |
let (mut event_num,) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __note_binwrite_generated_args = (); | |
let __note_binwrite_generated_options = __binread_generated_var_options; | |
let mut note: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__note_binwrite_generated_options, | |
__note_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__note_binwrite_generated_options, | |
__note_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __velocity_binwrite_generated_args = (); | |
let __velocity_binwrite_generated_options = __binread_generated_var_options; | |
let mut velocity: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__velocity_binwrite_generated_options, | |
__velocity_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__velocity_binwrite_generated_options, | |
__velocity_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut note, | |
__binread_generated_var_reader, | |
__note_binwrite_generated_options, | |
__note_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut velocity, | |
__binread_generated_var_reader, | |
__velocity_binwrite_generated_options, | |
__velocity_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MidiEventType::NoteOff { note, velocity }) | |
} | |
fn __binread_generated_parse_enum_MidiEventType_variant_NoteOn< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MidiEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MidiEventType> { | |
let (mut event_num,) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __note_binwrite_generated_args = (); | |
let __note_binwrite_generated_options = __binread_generated_var_options; | |
let mut note: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__note_binwrite_generated_options, | |
__note_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__note_binwrite_generated_options, | |
__note_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __velocity_binwrite_generated_args = (); | |
let __velocity_binwrite_generated_options = __binread_generated_var_options; | |
let mut velocity: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__velocity_binwrite_generated_options, | |
__velocity_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__velocity_binwrite_generated_options, | |
__velocity_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut note, | |
__binread_generated_var_reader, | |
__note_binwrite_generated_options, | |
__note_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut velocity, | |
__binread_generated_var_reader, | |
__velocity_binwrite_generated_options, | |
__velocity_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MidiEventType::NoteOn { note, velocity }) | |
} | |
fn __binread_generated_parse_enum_MidiEventType_variant_NotePressure< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MidiEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MidiEventType> { | |
let (mut event_num,) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __note_binwrite_generated_args = (); | |
let __note_binwrite_generated_options = __binread_generated_var_options; | |
let mut note: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__note_binwrite_generated_options, | |
__note_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__note_binwrite_generated_options, | |
__note_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __pressure_binwrite_generated_args = (); | |
let __pressure_binwrite_generated_options = __binread_generated_var_options; | |
let mut pressure: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__pressure_binwrite_generated_options, | |
__pressure_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__pressure_binwrite_generated_options, | |
__pressure_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut note, | |
__binread_generated_var_reader, | |
__note_binwrite_generated_options, | |
__note_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut pressure, | |
__binread_generated_var_reader, | |
__pressure_binwrite_generated_options, | |
__pressure_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MidiEventType::NotePressure { note, pressure }) | |
} | |
fn __binread_generated_parse_enum_MidiEventType_variant_Controller< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MidiEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MidiEventType> { | |
let (mut event_num,) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __controller_binwrite_generated_args = (); | |
let __controller_binwrite_generated_options = | |
__binread_generated_var_options; | |
let mut controller: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__controller_binwrite_generated_options, | |
__controller_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__controller_binwrite_generated_options, | |
__controller_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __value_binwrite_generated_args = (); | |
let __value_binwrite_generated_options = __binread_generated_var_options; | |
let mut value: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__value_binwrite_generated_options, | |
__value_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__value_binwrite_generated_options, | |
__value_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut controller, | |
__binread_generated_var_reader, | |
__controller_binwrite_generated_options, | |
__controller_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut value, | |
__binread_generated_var_reader, | |
__value_binwrite_generated_options, | |
__value_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MidiEventType::Controller { controller, value }) | |
} | |
fn __binread_generated_parse_enum_MidiEventType_variant_Program< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MidiEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MidiEventType> { | |
let (mut event_num,) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __program_binwrite_generated_args = (); | |
let __program_binwrite_generated_options = __binread_generated_var_options; | |
let mut program: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__program_binwrite_generated_options, | |
__program_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__program_binwrite_generated_options, | |
__program_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut program, | |
__binread_generated_var_reader, | |
__program_binwrite_generated_options, | |
__program_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MidiEventType::Program { program }) | |
} | |
fn __binread_generated_parse_enum_MidiEventType_variant_Pressure< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MidiEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MidiEventType> { | |
let (mut event_num,) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __pressure_binwrite_generated_args = (); | |
let __pressure_binwrite_generated_options = __binread_generated_var_options; | |
let mut pressure: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__pressure_binwrite_generated_options, | |
__pressure_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__pressure_binwrite_generated_options, | |
__pressure_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut pressure, | |
__binread_generated_var_reader, | |
__pressure_binwrite_generated_options, | |
__pressure_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MidiEventType::Pressure { pressure }) | |
} | |
fn __binread_generated_parse_enum_MidiEventType_variant_PitchBend< | |
R: ::binread::io::Read + ::binread::io::Seek, | |
>( | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments : < MidiEventType as :: binread :: BinRead > :: Args, | |
) -> ::binread::BinResult<MidiEventType> { | |
let (mut event_num,) = __binread_generated_var_arguments; | |
let __binread_generated_var_options = __binread_generated_var_options; | |
let __lsb_binwrite_generated_args = (); | |
let __lsb_binwrite_generated_options = __binread_generated_var_options; | |
let mut lsb: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__lsb_binwrite_generated_options, | |
__lsb_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__lsb_binwrite_generated_options, | |
__lsb_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __msb_binwrite_generated_args = (); | |
let __msb_binwrite_generated_options = __binread_generated_var_options; | |
let mut msb: u8 = { | |
let __binread__temp = (::binread::error::identity_after_parse( | |
::binread::error::nop5, | |
((::binread::BinRead::read_options( | |
__binread_generated_var_reader, | |
__msb_binwrite_generated_options, | |
__msb_binwrite_generated_args, | |
))?), | |
__binread_generated_var_reader, | |
__msb_binwrite_generated_options, | |
__msb_binwrite_generated_args, | |
)?); | |
__binread__temp | |
}; | |
let __binread_generated_saved_position = ::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Current(0), | |
)?; | |
{ | |
::binread::BinRead::after_parse( | |
&mut lsb, | |
__binread_generated_var_reader, | |
__lsb_binwrite_generated_options, | |
__lsb_binwrite_generated_args, | |
)? | |
}; | |
{ | |
::binread::BinRead::after_parse( | |
&mut msb, | |
__binread_generated_var_reader, | |
__msb_binwrite_generated_options, | |
__msb_binwrite_generated_args, | |
)? | |
}; | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_saved_position), | |
)?; | |
Ok(MidiEventType::PitchBend { lsb, msb }) | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MidiEventType_variant_NoteOff( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("NoteOff", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MidiEventType_variant_NoteOn( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("NoteOn", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MidiEventType_variant_NotePressure( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"NotePressure", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MidiEventType_variant_Controller( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket.push(( | |
"Controller", | |
__binread_generated_last_attempt.err().unwrap(), | |
)); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MidiEventType_variant_Program( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("Program", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MidiEventType_variant_Pressure( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("Pressure", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
let __binread_generated_last_attempt = | |
__binread_generated_parse_enum_MidiEventType_variant_PitchBend( | |
__binread_generated_var_reader, | |
__binread_generated_var_options, | |
__binread_generated_var_arguments, | |
); | |
if __binread_generated_last_attempt.is_ok() { | |
return __binread_generated_last_attempt; | |
} else { | |
__binread_generated_error_basket | |
.push(("PitchBend", __binread_generated_last_attempt.err().unwrap())); | |
::binread::io::Seek::seek( | |
__binread_generated_var_reader, | |
::binread::io::SeekFrom::Start(__binread_generated_pos_before_variant), | |
)?; | |
} | |
Err(::binread::Error::EnumErrors { | |
pos: __binread_generated_pos_before_variant as usize, | |
variant_errors: __binread_generated_error_basket, | |
}) | |
} | |
fn after_parse<R: ::binread::io::Read + ::binread::io::Seek>( | |
&mut self, | |
__binread_generated_var_reader: &mut R, | |
__binread_generated_var_options: &::binread::ReadOptions, | |
__binread_generated_var_arguments: Self::Args, | |
) -> ::binread::BinResult<()> { | |
Ok(()) | |
} | |
} | |
impl BinRead for MidiEvent { | |
type Args = u8; | |
fn read_options<R: Read + Seek>( | |
reader: &mut R, | |
ro: &ReadOptions, | |
status: Self::Args, | |
) -> BinResult<Self> { | |
let event_num = status >> 4; | |
let channel = status & 0xf; | |
Ok(Self { | |
channel, | |
event_type: MidiEventType::read_options(reader, ro, (event_num,))?, | |
}) | |
} | |
} | |
} | |
mod sysex_event {} | |
pub use meta_event::*; | |
pub use midi_event::*; | |
pub use sysex_event::*; | |
use super::VarLengthValue; | |
use binread::io::{Read, Seek, SeekFrom}; | |
use binread::{BinRead, BinResult, ReadOptions}; | |
use serde::{Deserialize, Serialize}; | |
pub(crate) struct EventWithRet(pub Event, pub Option<u8>); | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for EventWithRet { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match *self { | |
EventWithRet(ref __self_0_0, ref __self_0_1) => { | |
let mut debug_trait_builder = f.debug_tuple("EventWithRet"); | |
let _ = debug_trait_builder.field(&&(*__self_0_0)); | |
let _ = debug_trait_builder.field(&&(*__self_0_1)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
/// A top-level event struct in a Track, containing a delta time and one of 3 event types | |
pub struct Event { | |
/// The number of Timing units since the last event | |
delta: VarLengthValue, | |
event_type: EventType, | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for Event { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match *self { | |
Event { | |
delta: ref __self_0_0, | |
event_type: ref __self_0_1, | |
} => { | |
let mut debug_trait_builder = f.debug_struct("Event"); | |
let _ = debug_trait_builder.field("delta", &&(*__self_0_0)); | |
let _ = debug_trait_builder.field("event_type", &&(*__self_0_1)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_Event: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for Event { | |
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__ignore, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "field identifier") | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"field index 0 <= i < 2", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"delta" => _serde::export::Ok(__Field::__field0), | |
"event_type" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"delta" => _serde::export::Ok(__Field::__field0), | |
b"event_type" => _serde::export::Ok(__Field::__field1), | |
_ => _serde::export::Ok(__Field::__ignore), | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<Event>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = Event; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "struct Event") | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = match match _serde::de::SeqAccess::next_element::< | |
VarLengthValue, | |
>(&mut __seq) | |
{ | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err(_serde::de::Error::invalid_length( | |
0usize, | |
&"struct Event with 2 elements", | |
)); | |
} | |
}; | |
let __field1 = match match _serde::de::SeqAccess::next_element::< | |
EventType, | |
>(&mut __seq) | |
{ | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde::export::Err(_serde::de::Error::invalid_length( | |
1usize, | |
&"struct Event with 2 elements", | |
)); | |
} | |
}; | |
_serde::export::Ok(Event { | |
delta: __field0, | |
event_type: __field1, | |
}) | |
} | |
#[inline] | |
fn visit_map<__A>( | |
self, | |
mut __map: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::MapAccess<'de>, | |
{ | |
let mut __field0: _serde::export::Option<VarLengthValue> = | |
_serde::export::None; | |
let mut __field1: _serde::export::Option<EventType> = | |
_serde::export::None; | |
while let _serde::export::Some(__key) = | |
match _serde::de::MapAccess::next_key::<__Field>(&mut __map) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
{ | |
match __key { | |
__Field::__field0 => { | |
if _serde::export::Option::is_some(&__field0) { | |
return _serde::export::Err( | |
<__A::Error as _serde::de::Error>::duplicate_field( | |
"delta", | |
), | |
); | |
} | |
__field0 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::<VarLengthValue>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
__Field::__field1 => { | |
if _serde::export::Option::is_some(&__field1) { | |
return _serde::export::Err( | |
<__A::Error as _serde::de::Error>::duplicate_field( | |
"event_type", | |
), | |
); | |
} | |
__field1 = _serde::export::Some( | |
match _serde::de::MapAccess::next_value::<EventType>( | |
&mut __map, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}, | |
); | |
} | |
_ => { | |
let _ = match _serde::de::MapAccess::next_value::< | |
_serde::de::IgnoredAny, | |
>( | |
&mut __map | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
} | |
} | |
} | |
let __field0 = match __field0 { | |
_serde::export::Some(__field0) => __field0, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("delta") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
let __field1 = match __field1 { | |
_serde::export::Some(__field1) => __field1, | |
_serde::export::None => { | |
match _serde::private::de::missing_field("event_type") { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} | |
} | |
}; | |
_serde::export::Ok(Event { | |
delta: __field0, | |
event_type: __field1, | |
}) | |
} | |
} | |
const FIELDS: &'static [&'static str] = &["delta", "event_type"]; | |
_serde::Deserializer::deserialize_struct( | |
__deserializer, | |
"Event", | |
FIELDS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<Event>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_Event: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for Event { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
let mut __serde_state = match _serde::Serializer::serialize_struct( | |
__serializer, | |
"Event", | |
false as usize + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"delta", | |
&self.delta, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeStruct::serialize_field( | |
&mut __serde_state, | |
"event_type", | |
&self.event_type, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeStruct::end(__serde_state) | |
} | |
} | |
}; | |
pub(crate) struct EventTypeWithRet(pub EventType, pub Option<u8>); | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for EventTypeWithRet { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match *self { | |
EventTypeWithRet(ref __self_0_0, ref __self_0_1) => { | |
let mut debug_trait_builder = f.debug_tuple("EventTypeWithRet"); | |
let _ = debug_trait_builder.field(&&(*__self_0_0)); | |
let _ = debug_trait_builder.field(&&(*__self_0_1)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
pub enum EventType { | |
Midi(MidiEvent), | |
Meta(MetaEvent), | |
Unsupported(u8, Vec<u8>), | |
} | |
#[automatically_derived] | |
#[allow(unused_qualifications)] | |
impl ::core::fmt::Debug for EventType { | |
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { | |
match (&*self,) { | |
(&EventType::Midi(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("Midi"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&EventType::Meta(ref __self_0),) => { | |
let mut debug_trait_builder = f.debug_tuple("Meta"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
debug_trait_builder.finish() | |
} | |
(&EventType::Unsupported(ref __self_0, ref __self_1),) => { | |
let mut debug_trait_builder = f.debug_tuple("Unsupported"); | |
let _ = debug_trait_builder.field(&&(*__self_0)); | |
let _ = debug_trait_builder.field(&&(*__self_1)); | |
debug_trait_builder.finish() | |
} | |
} | |
} | |
} | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_DESERIALIZE_FOR_EventType: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl<'de> _serde::Deserialize<'de> for EventType { | |
fn deserialize<__D>(__deserializer: __D) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
#[allow(non_camel_case_types)] | |
enum __Field { | |
__field0, | |
__field1, | |
__field2, | |
} | |
struct __FieldVisitor; | |
impl<'de> _serde::de::Visitor<'de> for __FieldVisitor { | |
type Value = __Field; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "variant identifier") | |
} | |
fn visit_u64<__E>( | |
self, | |
__value: u64, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
0u64 => _serde::export::Ok(__Field::__field0), | |
1u64 => _serde::export::Ok(__Field::__field1), | |
2u64 => _serde::export::Ok(__Field::__field2), | |
_ => _serde::export::Err(_serde::de::Error::invalid_value( | |
_serde::de::Unexpected::Unsigned(__value), | |
&"variant index 0 <= i < 3", | |
)), | |
} | |
} | |
fn visit_str<__E>( | |
self, | |
__value: &str, | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
"Midi" => _serde::export::Ok(__Field::__field0), | |
"Meta" => _serde::export::Ok(__Field::__field1), | |
"Unsupported" => _serde::export::Ok(__Field::__field2), | |
_ => _serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)), | |
} | |
} | |
fn visit_bytes<__E>( | |
self, | |
__value: &[u8], | |
) -> _serde::export::Result<Self::Value, __E> | |
where | |
__E: _serde::de::Error, | |
{ | |
match __value { | |
b"Midi" => _serde::export::Ok(__Field::__field0), | |
b"Meta" => _serde::export::Ok(__Field::__field1), | |
b"Unsupported" => _serde::export::Ok(__Field::__field2), | |
_ => { | |
let __value = &_serde::export::from_utf8_lossy(__value); | |
_serde::export::Err(_serde::de::Error::unknown_variant( | |
__value, VARIANTS, | |
)) | |
} | |
} | |
} | |
} | |
impl<'de> _serde::Deserialize<'de> for __Field { | |
#[inline] | |
fn deserialize<__D>( | |
__deserializer: __D, | |
) -> _serde::export::Result<Self, __D::Error> | |
where | |
__D: _serde::Deserializer<'de>, | |
{ | |
_serde::Deserializer::deserialize_identifier( | |
__deserializer, | |
__FieldVisitor, | |
) | |
} | |
} | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<EventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = EventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result { | |
_serde::export::Formatter::write_str(__formatter, "enum EventType") | |
} | |
fn visit_enum<__A>( | |
self, | |
__data: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::EnumAccess<'de>, | |
{ | |
match match _serde::de::EnumAccess::variant(__data) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
(__Field::__field0, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<MidiEvent>( | |
__variant, | |
), | |
EventType::Midi, | |
), | |
(__Field::__field1, __variant) => _serde::export::Result::map( | |
_serde::de::VariantAccess::newtype_variant::<MetaEvent>( | |
__variant, | |
), | |
EventType::Meta, | |
), | |
(__Field::__field2, __variant) => { | |
struct __Visitor<'de> { | |
marker: _serde::export::PhantomData<EventType>, | |
lifetime: _serde::export::PhantomData<&'de ()>, | |
} | |
impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> { | |
type Value = EventType; | |
fn expecting( | |
&self, | |
__formatter: &mut _serde::export::Formatter, | |
) -> _serde::export::fmt::Result | |
{ | |
_serde::export::Formatter::write_str( | |
__formatter, | |
"tuple variant EventType::Unsupported", | |
) | |
} | |
#[inline] | |
fn visit_seq<__A>( | |
self, | |
mut __seq: __A, | |
) -> _serde::export::Result<Self::Value, __A::Error> | |
where | |
__A: _serde::de::SeqAccess<'de>, | |
{ | |
let __field0 = | |
match match _serde::de::SeqAccess::next_element::<u8>( | |
&mut __seq, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 0usize , & "tuple variant EventType::Unsupported with 2 elements" ) ) ; | |
} | |
}; | |
let __field1 = | |
match match _serde::de::SeqAccess::next_element::< | |
Vec<u8>, | |
>( | |
&mut __seq | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
} { | |
_serde::export::Some(__value) => __value, | |
_serde::export::None => { | |
return _serde :: export :: Err ( _serde :: de :: Error :: invalid_length ( 1usize , & "tuple variant EventType::Unsupported with 2 elements" ) ) ; | |
} | |
}; | |
_serde::export::Ok(EventType::Unsupported( | |
__field0, __field1, | |
)) | |
} | |
} | |
_serde::de::VariantAccess::tuple_variant( | |
__variant, | |
2usize, | |
__Visitor { | |
marker: _serde::export::PhantomData::<EventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
} | |
} | |
const VARIANTS: &'static [&'static str] = &["Midi", "Meta", "Unsupported"]; | |
_serde::Deserializer::deserialize_enum( | |
__deserializer, | |
"EventType", | |
VARIANTS, | |
__Visitor { | |
marker: _serde::export::PhantomData::<EventType>, | |
lifetime: _serde::export::PhantomData, | |
}, | |
) | |
} | |
} | |
}; | |
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)] | |
const _IMPL_SERIALIZE_FOR_EventType: () = { | |
#[allow(unknown_lints)] | |
#[allow(rust_2018_idioms)] | |
extern crate serde as _serde; | |
#[automatically_derived] | |
impl _serde::Serialize for EventType { | |
fn serialize<__S>( | |
&self, | |
__serializer: __S, | |
) -> _serde::export::Result<__S::Ok, __S::Error> | |
where | |
__S: _serde::Serializer, | |
{ | |
match *self { | |
EventType::Midi(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"EventType", | |
0u32, | |
"Midi", | |
__field0, | |
) | |
} | |
EventType::Meta(ref __field0) => { | |
_serde::Serializer::serialize_newtype_variant( | |
__serializer, | |
"EventType", | |
1u32, | |
"Meta", | |
__field0, | |
) | |
} | |
EventType::Unsupported(ref __field0, ref __field1) => { | |
let mut __serde_state = | |
match _serde::Serializer::serialize_tuple_variant( | |
__serializer, | |
"EventType", | |
2u32, | |
"Unsupported", | |
0 + 1 + 1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeTupleVariant::serialize_field( | |
&mut __serde_state, | |
__field0, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
match _serde::ser::SerializeTupleVariant::serialize_field( | |
&mut __serde_state, | |
__field1, | |
) { | |
_serde::export::Ok(__val) => __val, | |
_serde::export::Err(__err) => { | |
return _serde::export::Err(__err); | |
} | |
}; | |
_serde::ser::SerializeTupleVariant::end(__serde_state) | |
} | |
} | |
} | |
} | |
}; | |
impl BinRead for EventWithRet { | |
type Args = Option<u8>; | |
fn read_options<R: Read + Seek>( | |
reader: &mut R, | |
ro: &ReadOptions, | |
running_status: Self::Args, | |
) -> BinResult<Self> { | |
let delta = VarLengthValue::read(reader)?; | |
let EventTypeWithRet(event_type, ret) = | |
EventTypeWithRet::read_options(reader, ro, running_status)?; | |
Ok(EventWithRet(Event { delta, event_type }, ret)) | |
} | |
} | |
impl BinRead for EventTypeWithRet { | |
type Args = Option<u8>; | |
fn read_options<R: Read + Seek>( | |
reader: &mut R, | |
ro: &ReadOptions, | |
running_status: Self::Args, | |
) -> BinResult<Self> { | |
let mut next_event = u8::read(reader)?; | |
if next_event < 0x80 { | |
next_event = | |
running_status.expect("Event byte not found, and no running status is set"); | |
reader.seek(SeekFrom::Current(-1))?; | |
} | |
match next_event { | |
0x00..=0x7f => { | |
::std::rt::begin_panic("internal error: entered unreachable code") | |
} | |
0x80..=0xef => { | |
let midi_event = MidiEvent::read_options(reader, ro, next_event)?; | |
Ok(EventTypeWithRet( | |
EventType::Midi(midi_event), | |
Some(next_event), | |
)) | |
} | |
0xff => { | |
{ | |
::std::io::_print(::core::fmt::Arguments::new_v1( | |
&["BEGIN READ META. Position = 0x", "\n"], | |
&match (&reader.seek(SeekFrom::Current(0))?,) { | |
(arg0,) => [::core::fmt::ArgumentV1::new( | |
arg0, | |
::core::fmt::LowerHex::fmt, | |
)], | |
}, | |
)); | |
}; | |
let meta_event = MetaEvent::read(reader)?; | |
{ | |
::std::io::_print(::core::fmt::Arguments::new_v1( | |
&["END READ META. Position = 0x", "\n"], | |
&match (&reader.seek(SeekFrom::Current(0))?,) { | |
(arg0,) => [::core::fmt::ArgumentV1::new( | |
arg0, | |
::core::fmt::LowerHex::fmt, | |
)], | |
}, | |
)); | |
}; | |
Ok(EventTypeWithRet( | |
EventType::Meta(meta_event), | |
Some(next_event), | |
)) | |
} | |
_ => { | |
let len = VarLengthValue::read(reader)?; | |
let mut bytes = ::alloc::vec::from_elem(0u8, len.0 as usize); | |
reader.read_exact(&mut bytes)?; | |
Ok(EventTypeWithRet( | |
EventType::Unsupported(next_event, bytes), | |
running_status, | |
)) | |
} | |
} | |
} | |
} | |
} | |
pub use file::*; | |
pub use format::*; | |
pub use smpte_timecode::*; | |
pub use timing::*; | |
pub use track::*; | |
pub use var_length_value::*; | |
} | |
pub mod utils { | |
mod bounded { | |
pub trait Bounded<T> | |
where | |
T: Copy + PartialOrd, | |
{ | |
const MIN: T; | |
const MAX: T; | |
fn bounded(value: T) -> T { | |
if value > Self::MAX { | |
Self::MAX | |
} else if value < Self::MIN { | |
Self::MIN | |
} else { | |
value | |
} | |
} | |
fn is_in_range(value: T) -> bool { | |
value <= Self::MAX || value >= Self::MIN | |
} | |
} | |
} | |
pub use bounded::*; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment