csound::MidiFile Class Reference

#include <Midifile.hpp>

Collaboration diagram for csound::MidiFile:

Collaboration graph
[legend]

Public Types

enum  MidiEventTypes {
  CHANNEL_NOTE_OFF = 0x80, CHANNEL_NOTE_ON = 0x90, CHANNEL_KEY_PRESSURE = 0xa0, CHANNEL_CONTROL_CHANGE = 0xb0,
  CHANNEL_PROGRAM_CHANGE = 0xc0, CHANNEL_AFTER_TOUCH = 0xd0, CHANNEL_PITCH_BEND = 0xe0, SYSTEM_EXCLUSIVE = 0xf0,
  SYSTEM_MIDI_TIME_CODE = 0xf1, SYSTEM_SONG_POSITION_POINTER = 0xf2, SYSTEM_SONG_SELECT = 0xf3, SYSTEM_TUNE_REQUEST = 0xf6,
  SYSTEM_END_OF_EXCLUSIVE = 0xf7, SYSTEM_TIMING_CLOCK = 0xf8, SYSTEM_START = 0xfa, SYSTEM_CONTINUE = 0xfb,
  SYSTEM_STOP = 0xfc, SYSTEM_ACTIVE_SENSING = 0xfe, META_EVENT = 0xff
}
enum  MetaEventTypes {
  META_SEQUENCE_NUMBER = 0x00, META_TEXT_EVENT = 0x01, META_COPYRIGHT_NOTICE = 0x02, META_SEQUENCE_NAME = 0x03,
  META_INSTRUMENT_NAME = 0x04, META_LYRIC = 0x05, META_MARKER = 0x06, META_CUE_POINT = 0x07,
  META_CHANNEL_PREFIX = 0x20, META_END_OF_TRACK = 0x2f, META_SET_TEMPO = 0x51, META_SMPTE_OFFSET = 0x54,
  META_TIME_SIGNATURE = 0x58, META_KEY_SIGNATURE = 0x59, META_SEQUENCER_SPECIFIC = 0x74
}
enum  MidiControllers {
  CONTROLLER_MOD_WHEEL = 1, CONTROLLER_BREATH = 2, CONTROLLER_FOOT = 4, CONTROLLER_BALANCE = 8,
  CONTROLLER_PAN = 10, CONTROLLER_EXPRESSION = 11, CONTROLLER_DAMPER_PEDAL = 0x40, CONTROLLER_PORTAMENTO = 0x41,
  CONTROLLER_SOSTENUTO = 0x42, CONTROLLER_SOFT_PEDAL = 0x43, CONTROLLER_GENERAL_4 = 0x44, CONTROLLER_HOLD_2 = 0x45,
  CONTROLLER_7GENERAL_5 = 0x50, CONTROLLER_GENERAL_6 = 0x51, CONTROLLER_GENERAL_7 = 0x52, CONTROLLER_GENERAL_8 = 0x53,
  CONTROLLER_TREMOLO_DEPTH = 0x5c, CONTROLLER_CHORUS_DEPTH = 0x5d, CONTROLLER_DETUNE = 0x5e, CONTROLLER_PHASER_DEPTH = 0x5f,
  CONTROLLER_DATA_INC = 0x60, CONTROLLER_DATA_DEC = 0x61, CONTROLLER_NON_REG_LSB = 0x62, CONTROLLER_NON_REG_MSB = 0x63,
  CONTROLLER_REG_LSB = 0x64, CONTROLLER_REG_MSG = 0x65, CONTROLLER_CONTINUOUS_AFTERTOUCH = 128
}

Public Member Functions

void computeTimes (void)
 MidiFile (void)
virtual ~MidiFile (void)
virtual void clear (void)
virtual void read (std::istream &stream)
virtual void write (std::ostream &stream)
virtual void load (std::string filename)
virtual void save (std::string filename)
virtual void dump (std::ostream &stream)
virtual void sort (void)

Static Public Member Functions

static int readVariableLength (std::istream &stream)
static void writeVariableLength (std::ostream &stream, int value)
static int toInt (int c1, int c2, int c3, int c4)
static short toShort (int c1, int c2)
static int readInt (std::istream &stream)
static void writeInt (std::ostream &stream, int value)
static short readShort (std::istream &stream)
static void writeShort (std::ostream &stream, short value)
static int chunkName (int a, int b, int c, int d)

Data Fields

int currentTick
double currentTime
double currentSecondsPerTick
double microsecondsPerQuarterNote
unsigned char lastStatus
MidiHeader midiHeader
TempoMap tempoMap
std::vector< MidiTrackmidiTracks

Detailed Description

Reads and writes format 0 and format 1 standard MIDI files.

Member Enumeration Documentation

Enumerator:
META_SEQUENCE_NUMBER 
META_TEXT_EVENT 
META_COPYRIGHT_NOTICE 
META_SEQUENCE_NAME 
META_INSTRUMENT_NAME 
META_LYRIC 
META_MARKER 
META_CUE_POINT 
META_CHANNEL_PREFIX 
META_END_OF_TRACK 
META_SET_TEMPO 
META_SMPTE_OFFSET 
META_TIME_SIGNATURE 
META_KEY_SIGNATURE 
META_SEQUENCER_SPECIFIC 

Enumerator:
CONTROLLER_MOD_WHEEL 
CONTROLLER_BREATH 
CONTROLLER_FOOT 
CONTROLLER_BALANCE 
CONTROLLER_PAN 
CONTROLLER_EXPRESSION 
CONTROLLER_DAMPER_PEDAL 
CONTROLLER_PORTAMENTO 
CONTROLLER_SOSTENUTO 
CONTROLLER_SOFT_PEDAL 
CONTROLLER_GENERAL_4 
CONTROLLER_HOLD_2 
CONTROLLER_7GENERAL_5 
CONTROLLER_GENERAL_6 
CONTROLLER_GENERAL_7 
CONTROLLER_GENERAL_8 
CONTROLLER_TREMOLO_DEPTH 
CONTROLLER_CHORUS_DEPTH 
CONTROLLER_DETUNE 
CONTROLLER_PHASER_DEPTH 
CONTROLLER_DATA_INC 
CONTROLLER_DATA_DEC 
CONTROLLER_NON_REG_LSB 
CONTROLLER_NON_REG_MSB 
CONTROLLER_REG_LSB 
CONTROLLER_REG_MSG 
CONTROLLER_CONTINUOUS_AFTERTOUCH 

Enumerator:
CHANNEL_NOTE_OFF 
CHANNEL_NOTE_ON 
CHANNEL_KEY_PRESSURE 
CHANNEL_CONTROL_CHANGE 
CHANNEL_PROGRAM_CHANGE 
CHANNEL_AFTER_TOUCH 
CHANNEL_PITCH_BEND 
SYSTEM_EXCLUSIVE 
SYSTEM_MIDI_TIME_CODE 
SYSTEM_SONG_POSITION_POINTER 
SYSTEM_SONG_SELECT 
SYSTEM_TUNE_REQUEST 
SYSTEM_END_OF_EXCLUSIVE 
SYSTEM_TIMING_CLOCK 
SYSTEM_START 
SYSTEM_CONTINUE 
SYSTEM_STOP 
SYSTEM_ACTIVE_SENSING 
META_EVENT 


Constructor & Destructor Documentation

csound::MidiFile::MidiFile ( void   ) 

virtual csound::MidiFile::~MidiFile ( void   )  [virtual]


Member Function Documentation

static int csound::MidiFile::chunkName ( int  a,
int  b,
int  c,
int  d 
) [static]

virtual void csound::MidiFile::clear ( void   )  [virtual]

void csound::MidiFile::computeTimes ( void   ) 

virtual void csound::MidiFile::dump ( std::ostream &  stream  )  [virtual]

virtual void csound::MidiFile::load ( std::string  filename  )  [virtual]

virtual void csound::MidiFile::read ( std::istream &  stream  )  [virtual]

static int csound::MidiFile::readInt ( std::istream &  stream  )  [static]

static short csound::MidiFile::readShort ( std::istream &  stream  )  [static]

static int csound::MidiFile::readVariableLength ( std::istream &  stream  )  [static]

virtual void csound::MidiFile::save ( std::string  filename  )  [virtual]

virtual void csound::MidiFile::sort ( void   )  [virtual]

static int csound::MidiFile::toInt ( int  c1,
int  c2,
int  c3,
int  c4 
) [static]

static short csound::MidiFile::toShort ( int  c1,
int  c2 
) [static]

virtual void csound::MidiFile::write ( std::ostream &  stream  )  [virtual]

static void csound::MidiFile::writeInt ( std::ostream &  stream,
int  value 
) [static]

static void csound::MidiFile::writeShort ( std::ostream &  stream,
short  value 
) [static]

static void csound::MidiFile::writeVariableLength ( std::ostream &  stream,
int  value 
) [static]


Field Documentation


Generated on Tue Apr 14 11:03:02 2009 for Csound and CsoundAC by  doxygen 1.5.8