Skip to content

domyd/mpls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A movie playlist file (MPLS) parser, written in Rust.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages