Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
/home/iurt/rpm/BUILD/canorus-0.7.R1002/src/core/fermata.h
Go to the documentation of this file.
00001 
00008 #ifndef FERMATA_H_
00009 #define FERMATA_H_
00010 
00011 #include "core/mark.h"
00012 
00013 class CAPlayable;
00014 class CABarline;
00015 
00016 class CAFermata : public CAMark {
00017 public:
00018         enum CAFermataType {
00019                 NormalFermata,
00020                 ShortFermata,
00021                 LongFermata,
00022                 VeryLongFermata
00023         };
00024         
00025         CAFermata( CAPlayable *m, CAFermataType t = NormalFermata );
00026         CAFermata( CABarline *b,  CAFermataType t = NormalFermata );
00027         virtual ~CAFermata();
00028 
00029         CAFermata *clone(CAMusElement* elt=0);
00030         int compare( CAMusElement* );
00031         
00032         inline CAFermataType fermataType() { return _fermataType; }
00033         inline void setFermataType( CAFermataType t ) { _fermataType = t; }
00034         
00035         static const QString fermataTypeToString( CAFermataType t );
00036         static CAFermataType fermataTypeFromString( const QString r );
00037         
00038 private:
00039         CAFermataType _fermataType;
00040 };
00041 
00042 #endif /* FERMATA_H_ */