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

TBackupForward.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 __TBackupForward__
00026 #define __TBackupForward__
00027 
00028 #include "exports.h"
00029 #include "common.h"
00030 
00031 namespace MusicXML 
00032 {
00033 
00047 class EXP TBackup : public TMusicData {
00048     public:
00049         EXP friend SMARTP<TBackup> newBackup();
00050        
00051         virtual void accept(TScoreVisitor& visitor);        
00053         void    setDuration (long dur);
00054         long    getDuration ()  const       { return fDur; }
00055 
00056     protected:
00057         TBackup() : fDur(0) {}          
00058         virtual ~TBackup() {}
00059 
00060     private:
00062         long fDur;
00063 };
00064 typedef SMARTP<TBackup> SBackup;
00065 
00078 class EXP TForward : public TMusicData {
00079     public:
00080         enum { undefined=-1 };
00081     
00082         EXP friend SMARTP<TForward> newForward();
00083        
00084         virtual void accept(TScoreVisitor& visitor);
00085 
00087         TForward&   setDuration (long dur);
00088         TForward&   setVoice    (long voice);
00089         TForward&   setStaff    (long staff);
00090         long        getDuration ()  const       { return fDur; }
00091         long        getVoice    ()  const       { return fVoice; }
00092         long        getStaff    ()  const       { return fStaff; }
00093 
00094     protected:
00095         TForward() : fDur(0), fVoice(undefined), fStaff(undefined) {}
00096         virtual ~TForward() {}
00097     
00098     private:
00100         long fDur;
00102         long fVoice;
00104         long fStaff;
00105 };
00106 typedef SMARTP<TForward> SForward;
00107 
00108 } // namespace MusicXML
00109 
00110 #endif

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