Struct ghakuf::reader::Reader [] [src]

pub struct Reader<'a> { /* fields omitted */ }

ghakuf's SMF parser.

Examples

use ghakuf::messages::*;
use ghakuf::reader::*;
use std::path;

let path = path::Path::new("tests/test.mid");
let mut handler = HogeHandler {};
let mut reader = Reader::new(&mut handler, &path).unwrap();
let _ = reader.read();

struct HogeHandler {}
impl Handler for HogeHandler {
    fn header(&mut self, format: u16, track: u16, time_base: u16) {
        let _ = (format, track, time_base);
    }
    fn meta_event(&mut self, delta_time: u32, event: &MetaEvent, data: &Vec<u8>) {
        let _ = (delta_time, event, data);
    }
    fn midi_event(&mut self, delta_time: u32, event: &MidiEvent) {
        let _ = (delta_time, event);
    }
    fn sys_ex_event(&mut self, delta_time: u32, event: &SysExEvent, data: &Vec<u8>) {
        let _ = (delta_time, event, data);
    }
    fn track_change(&mut self) {}
}

Methods

impl<'a> Reader<'a>
[src]

[src]

Builds Reader with handler(observer) and SMF file path.

Examples

use ghakuf::reader::*;
use std::path;

let path = path::Path::new("tests/test.mid");
let mut handler = FugaHandler {};
let mut reader = Reader::new(&mut handler, &path);

struct FugaHandler {}
impl Handler for FugaHandler {}

[src]

Pushes Handler to Reader.

Examples

use ghakuf::reader::*;
use std::path;

let path = path::Path::new("tests/test.mid");
let mut fuga_handler = FugaHandler {};
let mut nyan_handler = NyanHandler {};
let mut reader = Reader::new(&mut fuga_handler, &path).unwrap();
reader.push_handler(&mut nyan_handler);

struct FugaHandler {}
impl Handler for FugaHandler {}

struct NyanHandler {}
impl Handler for NyanHandler {}

[src]

Parses SMF messages and fires(broadcasts) handlers.

Examples

use ghakuf::messages::*;
use ghakuf::reader::*;
use std::path;

let path = path::Path::new("tests/test.mid");
let mut handler = HogeHandler{};
let mut reader = Reader::new(&mut handler, &path).unwrap();
let _ = reader.read();

struct HogeHandler {}
impl Handler for HogeHandler {
    fn header(&mut self, format: u16, track: u16, time_base: u16) {
        let _ = (format, track, time_base);
    }
    fn meta_event(&mut self, delta_time: u32, event: &MetaEvent, data: &Vec<u8>) {
        let _ = (delta_time, event, data);
    }
    fn midi_event(&mut self, delta_time: u32, event: &MidiEvent) {
        let _ = (delta_time, event);
    }
    fn sys_ex_event(&mut self, delta_time: u32, event: &SysExEvent, data: &Vec<u8>) {
        let _ = (delta_time, event, data);
    }
    fn track_change(&mut self) {}
}