Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

/home/pete/Work/TSE3.svn/tse3/src/tse3/Phrase.h

Go to the documentation of this file.
00001 /*
00002  * @(#)Phrase.h 3.00 14 May 1999
00003  *
00004  * Copyright (c) 2000 Pete Goodliffe (pete@cthree.org)
00005  *
00006  * This file is part of TSE3 - the Trax Sequencer Engine version 3.00.
00007  *
00008  * This library is modifiable/redistributable under the terms of the GNU
00009  * General Public License.
00010  *
00011  * You should have received a copy of the GNU General Public License along
00012  * with this program; see the file COPYING. If not, write to the Free Software
00013  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00014  *
00015  */
00016 
00017 #ifndef TSE3_PHRASE_H
00018 #define TSE3_PHRASE_H
00019 
00020 #include "tse3/listen/Phrase.h"
00021 
00022 #include "tse3/Notifier.h"
00023 #include "tse3/MidiData.h"
00024 #include "tse3/Serializable.h"
00025 #include "tse3/DisplayParams.h"
00026 
00027 #include <string>
00028 
00029 namespace TSE3
00030 {
00031     class PhraseList;
00032 
00069     class Phrase : public MidiData,
00070                    public Serializable,
00071                    public Listener<DisplayParamsListener>,
00072                    public Notifier<PhraseListener>
00073     {
00074         public:
00075 
00076             virtual ~Phrase();
00077 
00085             PhraseList *parent() const { return _parent; }
00086 
00093             const std::string &title() const { return _title; }
00094 
00105             void setTitle(const std::string &title);
00106 
00112             DisplayParams *displayParams() { return &_display; }
00113 
00117             int operator<(const Phrase &p) const { return _title < p._title; }
00118 
00122             int operator==(const Phrase &p) const { return _title == p._title; }
00123 
00132             virtual void save(std::ostream &o, int i) const;
00133 
00138             friend class PhraseEdit;
00139 
00144             friend class PhraseList;
00145 
00149             virtual void DisplayParams_Altered(DisplayParams *);
00150 
00151         private:
00152 
00153             Phrase(const int noEvents);
00154             Phrase(const Phrase &);
00155             Phrase &operator=(const Phrase &);
00156 
00169             void setParent(PhraseList *parent);
00170 
00171             std::string    _title;
00172             DisplayParams  _display;
00173             PhraseList    *_parent;
00174     };
00175 }
00176 
00177 #endif

Generated on Wed May 25 14:45:05 2005 for TSE3 by doxygen 1.3.2