GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARMusicalEvent.h
1 #ifndef ARMusicalEvent_H
2 #define ARMusicalEvent_H
3 
4 /*
5  GUIDO Library
6  Copyright (C) 2002 Holger Hoos, Juergen Kilian, Kai Renz
7  Copyright (C) 2002-2017 Grame
8 
9  This Source Code Form is subject to the terms of the Mozilla Public
10  License, v. 2.0. If a copy of the MPL was not distributed with this
11  file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 
13  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
14  research@grame.fr
15 
16 */
17 
18 #include "GUIDOTypes.h"
19 #include "ARMusicalObject.h"
20 
21 class Fraction;
22 
27 {
28 public:
30  ARMusicalEvent(int theNumerator, int theDenominator);
31  ARMusicalEvent(const TYPE_TIMEPOSITION & relativeTimePositionOfEvent, const TYPE_DURATION & durationOfEvent);
32  ARMusicalEvent(const TYPE_DURATION & durationOfEvent);
33  ARMusicalEvent(const ARMusicalEvent &armev);
34  virtual ~ARMusicalEvent() {}
35 
36  virtual bool CanBeMerged(const ARMusicalEvent * ev2);
37  void setPointsNoDurationChange( int pointCount );
38 
39  virtual ARMusicalObject * Copy() const;
40 
41  void setDenominator(int newDenominator);
42  void setNumerator(int newNumerator);
43 
44  // Setzt die Anzahl der Punktierungen und passt duration
45  // und fraction entsprechend an...
46 
47  void setPoints( int pointCount );
48  int getPoints() const; // duration dots
49 
50  virtual bool isEventClass() const { return true; }
51 
52  static ARMusicalEvent * cast( ARMusicalObject * inObj ) { return (inObj->isEventClass() ? static_cast<ARMusicalEvent *>(inObj) : 0 ); }
53 
54  virtual void print(std::ostream& os) const;
55  virtual void printName(std::ostream& os) const { os << "ARMusicalEvent "; }
56  virtual void printGMNName(std::ostream& os) const { os << "\\musicalEvent "; }
57  virtual const char* getTagName() const { return "ARMusicalEvent "; }
58  virtual std::string getGMNName() const { return "\\musicalEvent "; }
59 
60  virtual void forceNoteAppearance(NVstring noteAppearance) {};
61  virtual NVstring getAppearance() const { return ""; };
62 
63 protected:
64  int mPoints;
65 };
66 
67 std::ostream & operator << ( std::ostream & os, const ARMusicalEvent* tag );
68 
69 #endif
ARMusicalEvent::printGMNName
virtual void printGMNName(std::ostream &os) const
Definition: ARMusicalEvent.h:56
ARMusicalEvent
Class for musical events (events have an own duration tags not)
Definition: ARMusicalEvent.h:26
Fraction
Numerator and denominator.
Definition: Fraction.h:23
ARMusicalEvent::getAppearance
virtual NVstring getAppearance() const
Definition: ARMusicalEvent.h:61
ARMusicalEvent::isEventClass
virtual bool isEventClass() const
Definition: ARMusicalEvent.h:50
ARMusicalEvent::printName
virtual void printName(std::ostream &os) const
Definition: ARMusicalEvent.h:55
ARMusicalEvent::mPoints
int mPoints
Definition: ARMusicalEvent.h:61
ARMusicalEvent::getTagName
virtual const char * getTagName() const
Definition: ARMusicalEvent.h:57
ARMusicalEvent::CanBeMerged
virtual bool CanBeMerged(const ARMusicalEvent *ev2)
ARMusicalEvent::ARMusicalEvent
ARMusicalEvent()
Definition: ARMusicalEvent.h:29
ARMusicalEvent::cast
static ARMusicalEvent * cast(ARMusicalObject *inObj)
Definition: ARMusicalEvent.h:52
ARMusicalEvent::Copy
virtual ARMusicalObject * Copy() const
ARMusicalEvent::setPointsNoDurationChange
void setPointsNoDurationChange(int pointCount)
ARMusicalEvent::getPoints
int getPoints() const
ARMusicalEvent::getGMNName
virtual std::string getGMNName() const
Definition: ARMusicalEvent.h:58
ARMusicalEvent::forceNoteAppearance
virtual void forceNoteAppearance(NVstring noteAppearance)
Definition: ARMusicalEvent.h:60
ARMusicalEvent::setPoints
void setPoints(int pointCount)
ARMusicalEvent::print
virtual void print(std::ostream &os) const
NVstring
Definition: nvstring.h:21
ARMusicalEvent::setDenominator
void setDenominator(int newDenominator)
ARMusicalObject::isEventClass
virtual bool isEventClass() const
Definition: ARMusicalObject.h:55
ARMusicalEvent::setNumerator
void setNumerator(int newNumerator)
ARMusicalObject
The base class for all AR objects. It contains all musical information : duration and time position.
Definition: ARMusicalObject.h:33
operator<<
std::ostream & operator<<(std::ostream &os, const svgendl &eol)
ARMusicalEvent::~ARMusicalEvent
virtual ~ARMusicalEvent()
Definition: ARMusicalEvent.h:34

Guido Project Copyright © 2019 Grame-CNCM