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

AGOS::MidiParser_S1D Class Reference

Inheritance diagram for AGOS::MidiParser_S1D:

MidiParser

List of all members.


Detailed Description

Simon 1 Demo version of MidiParser.

This parser is the result of eyeballing the one MUS file that's included with simon1demo. So there might be some things missing. I've tried to notate question-mark areas where they occur.

Definition at line 42 of file midiparser_s1d.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 ()
virtual void property (int prop, 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 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.
uint32 readVLQ2 (byte *&data)
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.
bool _centerPitchWheelOnUnload
 Center the pitch wheels when unloading a song.
byte * _data
MidiDriver_driver
 The device to which all events will be transmitted.
EventInfo _next_event
bool _no_delta
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