Main Page | Modules | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | Related Pages

TScoreHeader.h

00001 /*
00002 
00003   MusicXML Library
00004   Copyright (C) 2003  Grame
00005 
00006   This library is free software; you can redistribute it and/or
00007   modify it under the terms of the GNU Lesser General Public
00008   License as published by the Free Software Foundation; either
00009   version 2.1 of the License, or (at your option) any later version.
00010 
00011   This library is distributed in the hope that it will be useful,
00012   but WITHOUT ANY WARRANTY; without even the implied warranty of
00013   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014   Lesser General Public License for more details.
00015 
00016   You should have received a copy of the GNU Lesser General Public
00017   License along with this library; if not, write to the Free Software
00018   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 
00020   Grame Research Laboratory, 9 rue du Garet, 69001 Lyon - France
00021   grame@grame.fr
00022 
00023 */
00024 
00025 #ifndef __TScoreHeader__
00026 #define __TScoreHeader__
00027 
00028 #include "TIdentification.h"
00029 #include "TPartList.h"
00030 #include "TScoreVisitor.h"
00031 #include "TWork.h"
00032 #include "smartpointer.h"
00033 
00034 namespace MusicXML 
00035 {
00036 
00043 class EXP TScoreHeader : public visitable, public smartable {
00044     
00045     public:
00046         
00047         EXP friend SMARTP<TScoreHeader> newScoreHeader();
00048 
00049         virtual void accept(TScoreVisitor& visitor);
00050 
00051         void    setMovementNum(const string& num);
00052         void    setMovementTitle(const string& title);
00053         const string&   getMovementNum()        { return fMovementNum; }
00054         const string&   getMovementTitle()      { return fMovementTitle; }
00055 
00056         SWork&          work()                  { return fWork; }
00057         SIdentification& identification()       { return fIdentification; }
00058         SPartList&      partList()              { return fPartList; }
00059 
00060     protected:
00061         TScoreHeader() {}
00062         virtual ~TScoreHeader() {}
00063     private:
00064         SWork           fWork;
00065         string          fMovementNum;
00066         string          fMovementTitle;
00067         SIdentification fIdentification;
00069         SPartList       fPartList;
00070 };
00071 typedef SMARTP<TScoreHeader> SScoreHeader;
00072 
00073 } // namespace MusicXML
00074 
00075 
00076 #endif

Generated on Tue Mar 23 09:49:44 2004 for LibMusicXML by doxygen 1.3.3