Source: masterEvent.h


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

#include "event.h"

/**
 * This event contains information on tempo and meter. It is used for tempo and meter changes within a part.
 * If the tempo is set to a value other than zero, the event is treated as a tempo change, otherwise it is
 * treated as a meter change.
 **/
class MasterEvent : public Event
{
 private:
  int _tempo;
  int _meter0;
  int _meter1;

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

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

  /**
   * Constructor defining a new tempo at a position pos
   **/
  MasterEvent(Position pos, int tempo);

  /**
   * Constructor defining a new meter (met0/met1) at a position pos
   **/
  MasterEvent(Position pos, int met0, int met1);

  /**
   * Constructor defining both, a new tempo and a new meter
   **/
  MasterEvent(Position pos, int tempo, int met0, int met1);

  /**
   * Returns the tempo.
   **/
  int tempo() const { return _tempo; }

  /**
   * Returns the numerator of the meter
   **/
  int meter0() const { return _meter0; }

  /**
   * Returns the denominator of the meter
   **/
  int meter1() const { return _meter1; }

  /**
   * Sets the tempo value to val
   **/
  void setTempo(int cal);

  /**
   * Sets the value of the numerator to met0
   **/
  void setMeter0(int met0);

  /**
   * Sets the value of the denominator to met1
   **/
  void setMeter1(int met1);

  /**
   * 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.