Source Code (Use browser search to find items of interest.)

Class Index

kdelibs'MidiEvent (./kdelibs/libkmid/track.h:37)

struct MidiEvent
{
  /**
   * MIDI Command
   * 
   * Caution, if a command doesn't use a variable, it may contain garbage.
   */
  uchar	command;

  /**
   * Channel
   */
  uchar   chn;

  /**
   * Note
   */
  uchar   note;

  /**
   * Velocity
   */
  uchar   vel;

  /**
   * Patch (if @ref #command was a change patch command)
   */
  uchar   patch;

  /**
   * Patch (if @ref #command was a controller command)
   */
  uchar   ctl;

  /**
   * Data 1
   */
  uchar   d1;

  /**
   * Data 2
   */
  uchar   d2;

  /**
   * Data 3
   */
  uchar   d3;

  /**
   * Data 4
   */
  uchar   d4;

  /**
   * Data 5
   */
  uchar   d5;

  /**
   * Data 6
   */
  uchar   d6;

  /**
   * Length of the generic @ref #data variable
   */
  ulong	length;

  /**
   * The data for commands like text, sysex, etc.
   */
  uchar  *data;

};

/**
 * Stores a MIDI track. This can be thought of as a list of MIDI events.
 *
 * The data types used to store the track is similar to how events are
 * stored on a MIDI file, but used in a way that allows for faster parses.
 * 
 * This class is used on @ref MidiPlayer::loadSong() to load the song and
 * later play it with @ref MidiPlayer::play().
 *
 * @short Stores a MIDI track with a simple API
 * @version 0.9.5 17/01/2000
 * @author Antonio Larrosa Jimenez <larrosa@kde.org>
 */