Struct triseratops::tag::beatgrid::Beatgrid
source · pub struct Beatgrid {
pub version: Version,
pub non_terminal_markers: Vec<NonTerminalMarker>,
pub terminal_marker: TerminalMarker,
pub footer: u8,
}
Expand description
Represents the Serato BeatGrid
tag.
It stores the Beatgrid as a sequence of zero or more non-terminal beatgrid markers and a single terminal beatgrid markers.
Example
use triseratops::tag::{Beatgrid, format::id3::ID3Tag};
// First, read the tag data from the ID3 GEOB tag (the tag name can be accessed using the
// Beatgrid::ID3_TAG), then parse the data like this:
fn parse(data: &[u8]) {
let content = Beatgrid::parse_id3(data).expect("Failed to parse data!");
println!("{:?}", content);
}
Fields§
§version: Version
The analysis version.
non_terminal_markers: Vec<NonTerminalMarker>
Zero or more non-terminal beatgrid markers.
terminal_marker: TerminalMarker
The terminal beatgrid marker.
A single footer byte that is apparently random (?).
Trait Implementations§
source§impl EnvelopedTag for Beatgrid
impl EnvelopedTag for Beatgrid
source§impl MP4Tag for Beatgrid
impl MP4Tag for Beatgrid
source§const MP4_ATOM_FREEFORM_NAME: &'static str = "beatgrid"
const MP4_ATOM_FREEFORM_NAME: &'static str = "beatgrid"
The mean part of the freeform
MP4_ATOM
that this data is stored in.source§const MP4_ATOM_FREEFORM_MEAN: &'static str = "com.serato.dj"
const MP4_ATOM_FREEFORM_MEAN: &'static str = "com.serato.dj"
The mean part of the freeform
MP4_ATOM
that this data is stored in.fn parse_mp4(input: &[u8]) -> Result<Self, Error>
fn write_mp4(&self, writer: &mut impl Write) -> Result<usize, Error>
Auto Trait Implementations§
impl RefUnwindSafe for Beatgrid
impl Send for Beatgrid
impl Sync for Beatgrid
impl Unpin for Beatgrid
impl UnwindSafe for Beatgrid
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more