Source: position.h


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

#include "atom.h"

class Part;
class ostream;
class Tuplet;


class Position : public Atoma
{
 private:
  long totalTicks;
  int modulo(int m) const { return totalTicks%m; }
  int Meter(int,Part*) const;
 public:
  Position();
  Position(long);
  Position(int,int,int);
  Position(char*,int);
  // Position(int,int,int,Part*,int m0=0,int m1=0);
  // Position(int,int,int,int,int);
  // Position(char*,Part*,int m0=0,int m1=0);
  Position(const Position&);
  long ticks() const { return totalTicks; }
  long negative();

  int bar() const;
  int beat() const;
  int tick() const;
  bool sameBar(Position&) const;
  bool sameBarOrGreater(Position&) const;
  bool sameBeat(Position&) const;
  /*
  int gBar(Part*);
  int gBeat(Part*);
  int gTicks(Part*);
  int gBar(int,int);
  int gBeat(int,int);
  int gTicks(int,int);
  int gBar(Part*,int,int);
  int gBeat(Part*,int,int);
  int gTicks(Part*,int,int);
  */
  void gBBT(int&,int&,int&,Part*,int&,int&,bool returnMeter=false) const;
  void gBBT(int&,int&,int&) const;
  void nextBar();
  void nextBeat();
  void prevBar();
  void snap(int res, Tuplet * tuplet = 0);
  Position & operator=(const Position&);
  Position & operator=(long);
  Position & set(int,int,int,Part * master,int m0=0,int m1=0,int snap=0);
  Position & operator+=(Position);
  Position & operator-=(Position);
  double operator*(double);
  friend Position operator+(Position,Position);
  friend Position operator-(Position,Position);
  friend long operator+(Position,long);
  friend long operator-(Position,long);
  friend bool operator==(Position,Position);
  friend bool operator==(Position,long);
  friend bool operator!=(Position,Position);
  friend bool operator!=(Position,long);
  friend bool operator<(Position,Position);
  friend bool operator<=(Position,Position);
  friend bool operator>(Position,Position);
  friend bool operator>=(Position,Position);
  friend Position & operator++(Position&,int);
  friend ostream & operator<<(ostream&,const Position&);

  virtual ostream & print(int,ostream&) const;
  virtual void flush(const char*) const;
  virtual Element * copy() const;
  virtual bool isEvent() const { return false; }


};


#endif

Generated by: wuerthne on clouseau on Fri Sep 21 19:20:46 2001, using kdoc 2.0a53.