Logo Search packages:      
Sourcecode: scummvm version File versions  Download package

MidiParser_SMF Class Reference

Inheritance diagram for MidiParser_SMF:

MidiParser

List of all members.


Detailed Description

The Standard MIDI File version of MidiParser.

Definition at line 33 of file midiparser_smf.cpp.


Public Types

enum  { mpMalformedPitchBends = 1, mpAutoLoop = 2, mpSmartJump = 3, mpCenterPitchWheelOnUnload = 4 }
 Configuration options for MidiParser. More...

Public Member Functions

uint32 getPPQN ()
virtual uint32 getTick ()
bool jumpToTick (uint32 tick, bool fireEvents=false)
bool loadMusic (byte *data, uint32 size)
void onTimer ()
void property (int property, int value)
void setMidiDriver (MidiDriver *driver)
void setTempo (uint32 tempo)
void setTimerRate (uint32 rate)
bool setTrack (int track)
virtual void unloadMusic ()

Static Public Member Functions

static MidiParsercreateParser_SMF ()
static MidiParsercreateParser_XMIDI ()
static void timerCallback (void *data)

Protected Member Functions

void activeNote (byte channel, byte note, bool active)
virtual void allNotesOff ()
void compressToType0 ()
void hangAllActiveNotes ()
void hangingNote (byte channel, byte note, uint32 ticks_left, bool recycle=true)
void parseNextEvent (EventInfo &info)
uint16 read2low (byte *&data)
 Platform independent LE uint16 read-and-advance.
uint32 read4high (byte *&data)
 Platform independent BE uint32 read-and-advance.
virtual void resetTracking ()

Static Protected Member Functions

static uint32 readVLQ (byte *&data)

Protected Attributes

bool _abort_parse
 If a jump or other operation interrupts parsing, flag to abort.
byte _active_track
 Keeps track of the currently active track, in multi-track formats.
bool _autoLoop
 For lightweight clients that don't provide their own flow control.
byte * _buffer
bool _centerPitchWheelOnUnload
 Center the pitch wheels when unloading a song.
MidiDriver_driver
 The device to which all events will be transmitted.
bool _malformedPitchBends
EventInfo _next_event
byte _num_tracks
 Count of total tracks for multi-track MIDI formats. 1 for single-track formats.
Tracker _position
 The current time/position in the active track.
uint32 _ppqn
 Pulses Per Quarter Note. (We refer to "pulses" as "ticks".).
uint32 _psec_per_tick
 Microseconds per tick (_tempo / _ppqn).
bool _smartJump
 Support smart expiration of hanging notes when jumping.
uint32 _tempo
 Microseconds per quarter note.
uint32 _timer_rate
 The time in microseconds between onTimer() calls. Obtained from the MidiDriver.
byte * _tracks [120]
 Multi-track MIDI formats are supported, up to 120 tracks.

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index