|
|
#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. |