|
Canorus
0.7
|
00001 00008 #ifndef ARTICULATION_H_ 00009 #define ARTICULATION_H_ 00010 00011 #include "core/mark.h" 00012 #include "core/note.h" 00013 00014 class CAArticulation : public CAMark { 00015 public: 00016 enum CAArticulationType { 00017 Undefined = -1, 00018 Accent, 00019 Marcato, 00020 Staccatissimo, 00021 Espressivo, 00022 Staccato, 00023 Tenuto, 00024 Portato, 00025 UpBow, 00026 DownBow, 00027 Flageolet, 00028 Open, 00029 Stopped, 00030 Turn, 00031 ReverseTurn, 00032 Trill, 00033 Prall, 00034 Mordent, 00035 PrallPrall, 00036 PrallMordent, 00037 UpPrall, 00038 DownPrall, 00039 UpMordent, 00040 DownMordent, 00041 PrallDown, 00042 PrallUp, 00043 LinePrall 00044 }; 00045 00046 CAArticulation( CAArticulationType t, CANote *n ); 00047 virtual ~CAArticulation(); 00048 00049 CAArticulation *clone(CAMusElement* elt); 00050 int compare(CAMusElement *elt); 00051 00052 inline CANote *associatedNote() { return static_cast<CANote*>(associatedElement()); } 00053 inline void *setAssociatedNote( CANote* n ) { setAssociatedElement(n); } 00054 00055 inline CAArticulationType articulationType() { return _articulationType; } 00056 inline void setArticulationType( CAArticulationType t ) { _articulationType = t; } 00057 00058 static const QString articulationTypeToString( CAArticulationType t ); 00059 static CAArticulationType articulationTypeFromString( const QString s ); 00060 00061 private: 00062 CAArticulationType _articulationType; 00063 }; 00064 00065 #endif /* ARTICULATION_H_ */
1.8.0