Trait ghakuf::messages::MessageTool [] [src]

pub trait MessageTool {
    fn binary(&self) -> Vec<u8>;
fn len(&self) -> usize;
fn status_byte(&self) -> u8; }

Common methods among three SMF Events.

Examples

use ghakuf::messages::{MessageTool, MetaEvent, MidiEvent, SysExEvent};

assert_eq!(MetaEvent::EndOfTrack.binary(), [0xff, 0x2f]);
assert_eq!(MidiEvent::NoteOn { ch: 0x03, note: 0x00, velocity: 0x65 }.len(), 3);
assert_eq!(SysExEvent::F0.status_byte(), 0xf0);

Required Methods

Returns message's binary array for SMF.

Examples

use ghakuf::messages::{MessageTool, MetaEvent, MidiEvent, SysExEvent};

assert_eq!(MetaEvent::Lyric.binary(), [0xff, 0x05]);
assert_eq!(
    MidiEvent::NoteOff{ ch: 0x04, note: 0x02, velocity: 0x00 }.binary(),
    [0x84, 0x02, 0x00]
);
assert_eq!(SysExEvent::F7.binary(), [0xf7]);

Returns length of message's binary array for SMF.

Examples

use ghakuf::messages::{MessageTool, MetaEvent, MidiEvent, SysExEvent};

assert_eq!(MetaEvent::InstrumentName.len(), 2);
assert_eq!(MidiEvent::ChannelPressure { ch: 0x05, pressure: 0x45 }.len(), 2);
assert_eq!(SysExEvent::F0.len(), 1);

Returns message's status byte for SMF.

Examples

use ghakuf::messages::{MessageTool, MetaEvent, MidiEvent, SysExEvent};

assert_eq!(MetaEvent::Lyric.status_byte(), 0xff);
assert_eq!(MidiEvent::ProgramChange { ch: 0x01, program: 0x03 }.status_byte(), 0xc1);
assert_eq!(SysExEvent::F7.status_byte(), 0xf7);

Implementors