mpls

Crates.iompls
lib.rsmpls
version0.2.0
sourcesrc
created_at2020-05-21 17:57:55.267659
updated_at2020-05-28 09:50:07.812802
descriptionA movie playlist file (MPLS) parser.
homepage
repositoryhttps://github.com/domyd/mpls
max_upload_size
id244230
size105,787
Dominik Mydlil (domyd)

documentation

README

mpls

Crates.io

A movie playlist file (MPLS) parser. Written in Rust using the nom parser combinator library.

Dual-licensed under MIT and Apache 2.0.

Example

use std::fs::File;
use std::io::Read;
use mpls::Mpls;

fn main() -> std::io::Result<()> {
    // open the playlist file
    let mut file = File::open("00800.mpls")?;

    // parse the play list
    let mpls = Mpls::from(&file).expect("failed to parse MPLS file.");

    // extract the play list's angles
    let angles = mpls.angles();

    // extract the segments
    for angle in angles {
        let segment_numbers: Vec<i32> = angle
            .segments()
            .iter()
            .map(|s| s.file_name.parse::<i32>().unwrap())
            .collect();
        println!("angle {}: {:?}", angle, segment_numbers);
    }

    Ok(())
}

Installation

Add this to your Cargo.toml:

[dependencies]
mpls = "0.2.0"

Documentation

See the reference docs on crates.io.

Commit count: 6

cargo fmt