00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __TChord__
00026 #define __TChord__
00027
00028 #include "exports.h"
00029 #include "common.h"
00030 #include "TNote.h"
00031
00032 namespace MusicXML
00033 {
00034
00038 class EXP TChord : public TMusicData {
00039
00040 public:
00041 enum sorttype { pitch, duration };
00042 EXP friend SMARTP<TChord> newChord();
00043
00044 virtual void accept(TScoreVisitor& visitor);
00045 long add(const SNote& note);
00046 vvector<SNote>& notes() { return fNotes; }
00047
00049 unsigned long getDuration () const;
00051 long getVoice () const;
00053 long getStaff() const;
00055 TNote::style getStyle () const;
00056
00058 void sort (sorttype type);
00059
00060 protected:
00061 TChord() {}
00062 virtual ~TChord() {}
00063
00064 private:
00065 vvector<SNote> fNotes;
00066 };
00067 typedef SMARTP<TChord> SChord;
00068
00069
00070 }
00071
00072
00073 #endif