[][src]Trait ghakuf::reader::Handler

pub trait Handler {
    fn header(&mut self, format: u16, track: u16, time_base: u16) { ... }
fn meta_event(&mut self, delta_time: u32, event: &MetaEvent, data: &Vec<u8>) { ... }
fn midi_event(&mut self, delta_time: u32, event: &MidiEvent) { ... }
fn sys_ex_event(
        &mut self,
        delta_time: u32,
        event: &SysExEvent,
        data: &Vec<u8>
    ) { ... }
fn track_change(&mut self) { ... }
fn status(&mut self) -> HandlerStatus { ... } }

Handler(Observer) of Reader.

Examples

use ghakuf::messages::*;
use ghakuf::reader::*;

struct HogeHandler {
  status: HandlerStatus,
}
impl HogeHandler {
   pub fn new() -> HogeHandler {
       HogeHandler{status: HandlerStatus::Continue}
   }
}
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);
       self.status = HandlerStatus::SkipTrack;
   }
   fn sys_ex_event(&mut self, delta_time: u32, event: &SysExEvent, data: &Vec<u8>) {
       let _ = (delta_time, event, data);
   }
   fn track_change(&mut self) {
       self.status = HandlerStatus::Continue;
   }
   fn status(&mut self) -> HandlerStatus {
       self.status.clone()
   }
}

Provided methods

fn header(&mut self, format: u16, track: u16, time_base: u16)

Fired when SMF header track has found.

fn meta_event(&mut self, delta_time: u32, event: &MetaEvent, data: &Vec<u8>)

Fired when meta event has found.

fn midi_event(&mut self, delta_time: u32, event: &MidiEvent)

Fired when MIDI event has found.

fn sys_ex_event(&mut self, delta_time: u32, event: &SysExEvent, data: &Vec<u8>)

Fired when system exclusive event has found.

fn track_change(&mut self)

Fired when track has changed.

fn status(&mut self) -> HandlerStatus

Send handler status to parser.

Loading content...

Implementors

Loading content...