00001
00008 #ifndef DYNAMIC_H_
00009 #define DYNAMIC_H_
00010
00011 #include <QString>
00012 #include "core/mark.h"
00013
00014 class CANote;
00015
00016 class CADynamic: public CAMark {
00017 public:
00018 enum CADynamicText {
00019 ppppp, pppp, ppp, pp, p,
00020 fffff, ffff, fff, ff, f,
00021 fp, mf, mp, rfz, sff, sf, sfz, spp, sp,
00022 Custom
00023 };
00024
00025 CADynamic( QString text, int volume, CANote *note );
00026 virtual ~CADynamic();
00027
00028 CAMusElement *clone();
00029 int compare( CAMusElement* );
00030
00031 inline const QString text() { return _text; }
00032 inline void setText( const QString t ) { _text = t; }
00033 inline const int volume() { return _volume; }
00034 inline void setVolume( const int v ) { _volume = v; }
00035
00036 static const QString dynamicTextToString( CADynamicText t );
00037 static CADynamicText dynamicTextFromString( const QString t );
00038
00039 private:
00040 QString _text;
00041 int _volume;
00042 };
00043
00044 #endif