drumstick 0.5.0
QSmf Class Reference

Standard MIDI Files input/output. More...

#include <qsmf.h>

Inheritance diagram for QSmf:

List of all members.

Signals

void signalSMFError (const QString &errorStr)
 Emitted for a SMF read or write error.
void signalSMFHeader (int format, int ntrks, int division)
 Emitted after reading a SMF header.
void signalSMFNoteOn (int chan, int pitch, int vol)
 Emitted after reading a Note On message.
void signalSMFNoteOff (int chan, int pitch, int vol)
 Emitted after reading a Note Off message.
void signalSMFKeyPress (int chan, int pitch, int press)
 Emitted after reading a Polyphonic Aftertouch message.
void signalSMFCtlChange (int chan, int ctl, int value)
 Emitted after reading a Control Change message.
void signalSMFPitchBend (int chan, int value)
 Emitted after reading a Bender message.
void signalSMFProgram (int chan, int patch)
 Emitted after reading a Program change message.
void signalSMFChanPress (int chan, int press)
 Emitted after reading a Channel Aftertouch message.
void signalSMFSysex (const QByteArray &data)
 Emitted after reading a System Exclusive message.
void signalSMFSeqSpecific (const QByteArray &data)
 Emitted after reading a Sequencer specific message.
void signalSMFMetaUnregistered (int typ, const QByteArray &data)
 Emitted after reading an unregistered SMF Meta message.
void signalSMFMetaMisc (int typ, const QByteArray &data)
 Emitted after reading any SMF Meta message.
void signalSMFSequenceNum (int seq)
 Emitted after reading a Sequence number message.
void signalSMFforcedChannel (int channel)
 Emitted after reading a Forced channel message.
void signalSMFforcedPort (int port)
 Emitted after reading a Forced port message.
void signalSMFText (int typ, const QString &data)
 Emitted after reading a SMF text message.
void signalSMFSmpte (int b0, int b1, int b2, int b3, int b4)
 Emitted after reading a SMPT offset message.
void signalSMFTimeSig (int b0, int b1, int b2, int b3)
 Emitted after reading a SMF Time signature message.
void signalSMFKeySig (int b0, int b1)
 Emitted after reading a SMF Key Signature smessage.
void signalSMFTempo (int tempo)
 Emitted after reading a Tempo Change message.
void signalSMFendOfTrack ()
 Emitted after reading a End-Of-Track message.
void signalSMFTrackStart ()
 Emitted after reading a track prefix.
void signalSMFTrackEnd ()
 Emitted after a track has finished.
void signalSMFWriteTempoTrack ()
 Emitted to request the user to write the tempo track.
void signalSMFWriteTrack (int track)
 Emitted to request the user to write a track.

Public Member Functions

 QSmf (QObject *parent=0)
 Constructor.
virtual ~QSmf ()
 Destructor.
void readFromStream (QDataStream *stream)
 Reads a SMF stream.
void readFromFile (const QString &fileName)
 Reads a SMF stream from a disk file.
void writeToStream (QDataStream *stream)
 Writes a SMF stream.
void writeToFile (const QString &fileName)
 Writes a SMF stream to a disk file.
void writeMetaEvent (long deltaTime, int type, const QByteArray &data)
 Writes a variable length Meta Event.
void writeMetaEvent (long deltaTime, int type, const QString &data)
 Writes a Text Meta Event.
void writeMetaEvent (long deltaTime, int type, int data)
 Writes a simple Meta event.
void writeMetaEvent (long deltaTime, int type)
 Writes a simple Meta event.
void writeMidiEvent (long deltaTime, int type, int chan, int b1)
 Writes a MIDI message with a single parameter.
void writeMidiEvent (long deltaTime, int type, int chan, int b1, int b2)
 Writes a MIDI message with two parameters.
void writeMidiEvent (long deltaTime, int type, int chan, const QByteArray &data)
 Writes a variable length MIDI message.
void writeMidiEvent (long deltaTime, int type, long len, char *data)
 Writes a variable length MIDI message.
void writeTempo (long deltaTime, long tempo)
 Writes a Tempo change message.
void writeBpmTempo (long deltaTime, int tempo)
 Writes a Tempo change message.
void writeTimeSignature (long deltaTime, int num, int den, int cc, int bb)
 Writes a Time Signature message.
void writeKeySignature (long deltaTime, int tone, int mode)
 Writes a key Signature message.
void writeSequenceNumber (long deltaTime, int seqnum)
 Writes a MIDI Sequence number.
long getCurrentTime ()
 Gets the current time in ticks.
long getCurrentTempo ()
 Gets the current tempo.
long getRealTime ()
 Gets the real time in seconds.
long getFilePos ()
 Gets the position in the SMF stream.
int getDivision ()
 Gets the resolution.
void setDivision (int division)
 Sets the resolution.
int getTracks ()
 Gets the number of tracks.
void setTracks (int tracks)
 Sets the number of tracks.
int getFileFormat ()
 Gets the SMF file format.
void setFileFormat (int fileFormat)
 Sets the SMF file format.
QTextCodec * getTextCodec ()
 Gets the text codec used for text meta-events I/O.
void setTextCodec (QTextCodec *codec)
 Sets the text codec for text meta-events.

Detailed Description

Standard MIDI Files input/output.

This class is used to parse and encode Standard MIDI Files (SMF)

Examples:

buildsmf.cpp, dumpsmf.cpp, guiplayer.cpp, and playsmf.cpp.

Definition at line 83 of file qsmf.h.


Constructor & Destructor Documentation

QSmf ( QObject parent = 0)

Constructor.

Parameters:
parentOptional parent object

Definition at line 99 of file qsmf.cpp.


Member Function Documentation

long getCurrentTempo ( )

Gets the current tempo.

Returns:
Tempo in us per quarter

Definition at line 1123 of file qsmf.cpp.

long getCurrentTime ( )

Gets the current time in ticks.

Returns:
Time in ticks

Definition at line 1114 of file qsmf.cpp.

int getDivision ( )

Gets the resolution.

Returns:
Resolution in ticks per quarter note

Definition at line 1141 of file qsmf.cpp.

int getFileFormat ( )

Gets the SMF file format.

Returns:
File format (0, 1, or 2)

Definition at line 1177 of file qsmf.cpp.

long getFilePos ( )

Gets the position in the SMF stream.

Returns:
Position offset in the stream

Definition at line 1195 of file qsmf.cpp.

long getRealTime ( )

Gets the real time in seconds.

Returns:
Time in seconds

Definition at line 1132 of file qsmf.cpp.

QTextCodec * getTextCodec ( )

Gets the text codec used for text meta-events I/O.

Returns:
QTextCodec pointer
Since:
0.2.0

Definition at line 1205 of file qsmf.cpp.

int getTracks ( )

Gets the number of tracks.

Returns:
Number of tracks

Definition at line 1159 of file qsmf.cpp.

void readFromFile ( const QString &  fileName)

Reads a SMF stream from a disk file.

Parameters:
fileNameName of an existing file.

Definition at line 434 of file qsmf.cpp.

References QSmf::readFromStream().

void readFromStream ( QDataStream *  stream)

Reads a SMF stream.

Parameters:
streamPointer to an existing and opened stream

Definition at line 424 of file qsmf.cpp.

Referenced by QSmf::readFromFile().

void setDivision ( int  division)

Sets the resolution.

Parameters:
divisionResolution in ticks per quarter note

Definition at line 1150 of file qsmf.cpp.

void setFileFormat ( int  fileFormat)

Sets the SMF file format.

Parameters:
fileFormatFile format (0, 1, or 2)

Definition at line 1186 of file qsmf.cpp.

void setTextCodec ( QTextCodec *  codec)

Sets the text codec for text meta-events.

The engine doesn't take ownership of the codec instance.

Parameters:
codecQTextCodec pointer
Since:
0.2.0

Definition at line 1217 of file qsmf.cpp.

void setTracks ( int  tracks)

Sets the number of tracks.

Parameters:
tracksNumber of tracks

Definition at line 1168 of file qsmf.cpp.

void signalSMFChanPress ( int  chan,
int  press 
) [signal]

Emitted after reading a Channel Aftertouch message.

Parameters:
chanMIDI Channel
pressPressure amount
void signalSMFCtlChange ( int  chan,
int  ctl,
int  value 
) [signal]

Emitted after reading a Control Change message.

Parameters:
chanMIDI Channel
ctlMIDI Controller
valueControl value
void signalSMFError ( const QString &  errorStr) [signal]

Emitted for a SMF read or write error.

Parameters:
errorStrError string
void signalSMFforcedChannel ( int  channel) [signal]

Emitted after reading a Forced channel message.

Parameters:
channelMIDI Channel
void signalSMFforcedPort ( int  port) [signal]

Emitted after reading a Forced port message.

Parameters:
portPort number
void signalSMFHeader ( int  format,
int  ntrks,
int  division 
) [signal]

Emitted after reading a SMF header.

Parameters:
formatSMF format (0/1)
ntrksNumber pof tracks
divisionDivision (resolution in ticks per quarter note)
void signalSMFKeyPress ( int  chan,
int  pitch,
int  press 
) [signal]

Emitted after reading a Polyphonic Aftertouch message.

Parameters:
chanMIDI Channel
pitchMIDI Note
pressPressure amount
void signalSMFKeySig ( int  b0,
int  b1 
) [signal]

Emitted after reading a SMF Key Signature smessage.

Parameters:
b0Number of alterations (negative=flats, positive=sharps)
b1Scale Mode (0=major, 1=minor)
void signalSMFMetaMisc ( int  typ,
const QByteArray &  data 
) [signal]

Emitted after reading any SMF Meta message.

Parameters:
typMessage type
dataMessage data
void signalSMFMetaUnregistered ( int  typ,
const QByteArray &  data 
) [signal]

Emitted after reading an unregistered SMF Meta message.

Parameters:
typMessage type
dataMessage data
Since:
0.2.0
void signalSMFNoteOff ( int  chan,
int  pitch,
int  vol 
) [signal]

Emitted after reading a Note Off message.

Parameters:
chanMIDI Channel
pitchMIDI Note
volVelocity
void signalSMFNoteOn ( int  chan,
int  pitch,
int  vol 
) [signal]

Emitted after reading a Note On message.

Parameters:
chanMIDI Channel
pitchMIDI Note
volVelocity
void signalSMFPitchBend ( int  chan,
int  value 
) [signal]

Emitted after reading a Bender message.

Parameters:
chanMIDI Channel
valueBender value
void signalSMFProgram ( int  chan,
int  patch 
) [signal]

Emitted after reading a Program change message.

Parameters:
chanMIDI Channel
patchProgram number
void signalSMFSeqSpecific ( const QByteArray &  data) [signal]

Emitted after reading a Sequencer specific message.

Parameters:
dataMessage data
void signalSMFSequenceNum ( int  seq) [signal]

Emitted after reading a Sequence number message.

Parameters:
seqSequence number
void signalSMFSmpte ( int  b0,
int  b1,
int  b2,
int  b3,
int  b4 
) [signal]

Emitted after reading a SMPT offset message.

Parameters:
b0Hours
b1Minutes
b2Seconds
b3Frames
b4Fractional frames
void signalSMFSysex ( const QByteArray &  data) [signal]

Emitted after reading a System Exclusive message.

Parameters:
dataSysex bytes
void signalSMFTempo ( int  tempo) [signal]

Emitted after reading a Tempo Change message.

Parameters:
tempoMicroseconds per quarter note
void signalSMFText ( int  typ,
const QString &  data 
) [signal]

Emitted after reading a SMF text message.

Parameters:
typText type
dataText data
void signalSMFTimeSig ( int  b0,
int  b1,
int  b2,
int  b3 
) [signal]

Emitted after reading a SMF Time signature message.

Parameters:
b0Numerator
b1Denominator (exponent in a power of two)
b2Number of MIDI clocks per metronome click
b3Number of notated 32nd notes per 24 MIDI clocks
void signalSMFWriteTempoTrack ( ) [signal]

Emitted to request the user to write the tempo track.

This is the first track in a format 1 SMF.

void signalSMFWriteTrack ( int  track) [signal]

Emitted to request the user to write a track.

Parameters:
trackTrack number
void writeBpmTempo ( long  deltaTime,
int  tempo 
)

Writes a Tempo change message.

Parameters:
deltaTimeTime offset in ticks
tempoTempo expressed in quarter notes per minute

Definition at line 748 of file qsmf.cpp.

References QSmf::writeTempo().

void writeKeySignature ( long  deltaTime,
int  tone,
int  mode 
)

Writes a key Signature message.

Parameters:
deltaTimeTime offset in ticks
toneNumber of alterations (positive=sharps, negative=flats)
modeScale mode (0=major, 1=minor)

Definition at line 780 of file qsmf.cpp.

References key_signature, and meta_event.

void writeMetaEvent ( long  deltaTime,
int  type 
)

Writes a simple Meta event.

Parameters:
deltaTimeTime offset in ticks
typeMeta event type

Definition at line 569 of file qsmf.cpp.

References meta_event.

void writeMetaEvent ( long  deltaTime,
int  type,
const QString &  data 
)

Writes a Text Meta Event.

Parameters:
deltaTimeTime offset in ticks
typeMeta event type
dataMessage text

Definition at line 533 of file qsmf.cpp.

References meta_event.

void writeMetaEvent ( long  deltaTime,
int  type,
const QByteArray &  data 
)

Writes a variable length Meta Event.

Parameters:
deltaTimeTime offset in ticks
typeMeta event type
dataMessage data

Definition at line 516 of file qsmf.cpp.

References meta_event.

void writeMetaEvent ( long  deltaTime,
int  type,
int  data 
)

Writes a simple Meta event.

Parameters:
deltaTimeTime offset in ticks
typeMeta event type
dataMeta event data
Since:
0.2.0

Definition at line 555 of file qsmf.cpp.

References meta_event.

void writeMidiEvent ( long  deltaTime,
int  type,
int  chan,
int  b1 
)

Writes a MIDI message with a single parameter.

Parameters:
deltaTimeTime offset in ticks
typeMIDI event type
chanMIDI Channel
b1Message parameter

Definition at line 629 of file qsmf.cpp.

References end_of_sysex, and system_exclusive.

void writeMidiEvent ( long  deltaTime,
int  type,
int  chan,
int  b1,
int  b2 
)

Writes a MIDI message with two parameters.

Parameters:
deltaTimeTime offset in ticks
typeMIDI event type
chanMIDI Channel
b1Message parameter 1
b2Message parameter 2

Definition at line 658 of file qsmf.cpp.

References end_of_sysex, and system_exclusive.

void writeMidiEvent ( long  deltaTime,
int  type,
int  chan,
const QByteArray &  data 
)

Writes a variable length MIDI message.

Parameters:
deltaTimeTime offset in ticks
typeMIDI event type
chanMIDI Channel
dataMessage data

Definition at line 584 of file qsmf.cpp.

References end_of_sysex, and system_exclusive.

void writeMidiEvent ( long  deltaTime,
int  type,
long  len,
char *  data 
)

Writes a variable length MIDI message.

Parameters:
deltaTimeTime offset in ticks
typeMIDI event type
lenMessage length
dataMessage data

Definition at line 687 of file qsmf.cpp.

References end_of_sysex, and system_exclusive.

void writeSequenceNumber ( long  deltaTime,
int  seqnum 
)

Writes a MIDI Sequence number.

Parameters:
deltaTimeTime offset in ticks
seqnumSequence number

Definition at line 716 of file qsmf.cpp.

References meta_event, and sequence_number.

void writeTempo ( long  deltaTime,
long  tempo 
)

Writes a Tempo change message.

Parameters:
deltaTimeTime offset in ticks
tempoTempo in microseconds per quarter note

Definition at line 732 of file qsmf.cpp.

References meta_event, and set_tempo.

Referenced by QSmf::writeBpmTempo().

void writeTimeSignature ( long  deltaTime,
int  num,
int  den,
int  cc,
int  bb 
)

Writes a Time Signature message.

Parameters:
deltaTimeTime offset in ticks
numNumerator
denDenominator (exponent for a power of two)
ccNumber of MIDI clocks in a metronome click
bbNumber of notated 32nd notes in 24 MIDI clocks

Definition at line 762 of file qsmf.cpp.

References meta_event, and time_signature.

void writeToFile ( const QString &  fileName)

Writes a SMF stream to a disk file.

Parameters:
fileNameFile name

Definition at line 457 of file qsmf.cpp.

References QSmf::writeToStream().

void writeToStream ( QDataStream *  stream)

Writes a SMF stream.

Parameters:
streamPointer to an existing and opened stream

Definition at line 447 of file qsmf.cpp.

Referenced by QSmf::writeToFile().


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