svcore  1.9
MIDIFileWriter Class Reference

Write a MIDI file. More...

#include <MIDIFileWriter.h>

Collaboration diagram for MIDIFileWriter:

List of all members.

Public Member Functions

 MIDIFileWriter (QString path, const NoteExportable *exportable, int sampleRate, float tempo=120.f)
virtual ~MIDIFileWriter ()
virtual bool isOK () const
virtual QString getError () const
virtual void write ()

Protected Types

enum  MIDIFileFormatType { MIDI_SINGLE_TRACK_FILE = 0x00, MIDI_SIMULTANEOUS_TRACK_FILE = 0x01, MIDI_SEQUENTIAL_TRACK_FILE = 0x02, MIDI_FILE_BAD_FORMAT = 0xFF }
typedef std::vector< MIDIEvent * > MIDITrack
typedef std::map< unsigned int,
MIDITrack
MIDIComposition

Protected Member Functions

std::string intToMIDIBytes (int number) const
std::string longToMIDIBytes (unsigned long number) const
std::string longToVarBuffer (unsigned long number) const
unsigned long getMIDITimeForTime (RealTime t) const
bool writeHeader ()
bool writeTrack (int track)
bool writeComposition ()
bool convert ()

Protected Attributes

QString m_path
const NoteExportablem_exportable
int m_sampleRate
float m_tempo
int m_timingDivision
MIDIFileFormatType m_format
unsigned int m_numberOfTracks
MIDIComposition m_midiComposition
std::ofstream * m_midiFile
QString m_error

Detailed Description

Write a MIDI file.

This includes file write code for generic simultaneous-track MIDI files, but the conversion stage only supports a single-track MIDI file with fixed tempo, time signature and timing division.

Definition at line 43 of file MIDIFileWriter.h.


Member Typedef Documentation

typedef std::vector<MIDIEvent *> MIDIFileWriter::MIDITrack [protected]

Definition at line 58 of file MIDIFileWriter.h.

typedef std::map<unsigned int, MIDITrack> MIDIFileWriter::MIDIComposition [protected]

Definition at line 59 of file MIDIFileWriter.h.


Member Enumeration Documentation

Enumerator:
MIDI_SINGLE_TRACK_FILE 
MIDI_SIMULTANEOUS_TRACK_FILE 
MIDI_SEQUENTIAL_TRACK_FILE 
MIDI_FILE_BAD_FORMAT 

Definition at line 61 of file MIDIFileWriter.h.


Constructor & Destructor Documentation

MIDIFileWriter::MIDIFileWriter ( QString  path,
const NoteExportable exportable,
int  sampleRate,
float  tempo = 120.f 
)

Definition at line 39 of file MIDIFileWriter.cpp.

References convert(), and m_error.

Definition at line 52 of file MIDIFileWriter.cpp.

References m_midiComposition.


Member Function Documentation

bool MIDIFileWriter::isOK ( ) const [virtual]

Definition at line 69 of file MIDIFileWriter.cpp.

References m_error.

QString MIDIFileWriter::getError ( ) const [virtual]

Definition at line 75 of file MIDIFileWriter.cpp.

References m_error.

void MIDIFileWriter::write ( ) [virtual]

Definition at line 81 of file MIDIFileWriter.cpp.

References writeComposition().

string MIDIFileWriter::intToMIDIBytes ( int  number) const [protected]

Definition at line 87 of file MIDIFileWriter.cpp.

Referenced by writeHeader().

string MIDIFileWriter::longToMIDIBytes ( unsigned long  number) const [protected]

Definition at line 102 of file MIDIFileWriter.cpp.

Referenced by writeTrack().

string MIDIFileWriter::longToVarBuffer ( unsigned long  number) const [protected]

Definition at line 127 of file MIDIFileWriter.cpp.

Referenced by writeTrack().

unsigned long MIDIFileWriter::getMIDITimeForTime ( RealTime  t) const [protected]
bool MIDIFileWriter::writeComposition ( ) [protected]

Definition at line 277 of file MIDIFileWriter.cpp.

References m_error, m_midiFile, m_numberOfTracks, m_path, writeHeader(), and writeTrack().

Referenced by write().


Member Data Documentation

QString MIDIFileWriter::m_path [protected]

Definition at line 80 of file MIDIFileWriter.h.

Referenced by writeComposition().

Definition at line 81 of file MIDIFileWriter.h.

Referenced by convert().

Definition at line 82 of file MIDIFileWriter.h.

Referenced by convert().

float MIDIFileWriter::m_tempo [protected]

Definition at line 83 of file MIDIFileWriter.h.

Referenced by convert().

Definition at line 84 of file MIDIFileWriter.h.

Referenced by convert(), and writeHeader().

Definition at line 85 of file MIDIFileWriter.h.

Referenced by convert(), and writeHeader().

unsigned int MIDIFileWriter::m_numberOfTracks [protected]

Definition at line 86 of file MIDIFileWriter.h.

Referenced by convert(), writeComposition(), and writeHeader().

std::ofstream* MIDIFileWriter::m_midiFile [protected]

Definition at line 90 of file MIDIFileWriter.h.

Referenced by writeComposition(), writeHeader(), and writeTrack().

QString MIDIFileWriter::m_error [protected]

Definition at line 91 of file MIDIFileWriter.h.

Referenced by getError(), isOK(), MIDIFileWriter(), and writeComposition().


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