Source: midiEvent.h


Annotated List
Files
Globals
Hierarchy
Index
#ifndef _MIDIEVENT_H_
#define _MIDIEVENT_H_

#include "event.h"

/**
 * Instances of this class are midievents. They do not need a (graphical) presentation of their own. They can be displayed
 * graphically within the presentation of the parts, they belong to.
 **/

class MidiEvent : public Event
{
 private:
  int _codechan;
  int _value1;
  int _value2;

 public:
  /**
   * Default Constructor
   **/
  MidiEvent( );

  /**
   * Copy Constructor
   **/
  MidiEvent(const MidiEvent&);

  /**
   * Constructor defining a midievent cc with values value1 and value2 at position pos. The integer cc contains
   * the command within the higher nibble and the channel within the lower nibble. The value2 parameter is optional.
   **/
  MidiEvent(Position pos, int cc, int value1, int value2=0);

  /**
   * Returns the 4 bit value of the command
   **/
  int code() const { return int((_codechan&240)/16); }

  /**
   * Returns the midi channel
   **/
  int channel() const { return int(_codechan&15); }

  /**
   * Returns both the command and the midi channel
   **/
  int codeAndChannel() const { return _codechan; }

  /**
   * Returns the first value
   **/
  int value1() const { return _value1; }

  /**
   * Returns the second value
   **/
  int value2() const { return _value2; }

  /**
   * Sets the command and the midi channel
   **/
  void setCodeAndChannel(int);

  /**
   * Sets the first value
   **/
  void setValue1(int);

  /**
   * Sets the second value
   **/
  void setValue2(int);

  /**
   * Implementation of the print method
   **/
  virtual ostream & print(int,ostream&) const;

  /**
   * Implementation of the flush method
   **/
  virtual void flush(const char*) const;

  /**
   * Implementation of the copy method
   **/
  virtual Element * copy() const;

  /**
   * Implementation of the load method
   **/
  static Element * load(char*,ifstream*&,Element*);
};


#endif

Generated by: wuerthne on al on Sun Jan 6 22:32:42 2002, using kdoc 2.0a53.