/usr/include/tse3/FlagTrack.h is in libtse3-dev 0.3.1-4.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | /*
* @(#)FlagTrack.h 3.00 19 May 1999
*
* Copyright (c) 2000 Pete Goodliffe (pete@cthree.org)
*
* This file is part of TSE3 - the Trax Sequencer Engine version 3.00.
*
* This library is modifiable/redistributable under the terms of the GNU
* General Public License.
*
* You should have received a copy of the GNU General Public License along
* with this program; see the file COPYING. If not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
#ifndef TSE3_FLAGTRACK_H
#define TSE3_FLAGTRACK_H
#include "tse3/listen/FlagTrack.h"
#include "tse3/Notifier.h"
#include "tse3/Serializable.h"
#include "tse3/EventTrack.h"
#include <string>
namespace TSE3
{
/**
* Flags are simply named time points in the @ref Song, held in the
* @ref FlagTrack. This class defines the type that is used to create
* Flag events, which are of type @ref Event<@ref Flag>.
*
* Flag is a value type.
*
* @short A flag
* @author Pete Goodliffe
* @version 3.00
* @see FlagTrack
* @see Event
*/
class Flag
{
public:
/**
* Create a Flag with no title
*/
Flag() {}
/**
* Create a Flag with the given title.
*
* @param title The Flag's title
*/
Flag(const std::string &t) : _title(t) {}
/**
* Returns the 'title' of this Flag.
*/
const std::string &title() const { return _title; }
int operator==(const Flag &f) const
{
return _title == f._title;
}
private:
std::string _title;
};
/**
* The FlagTrack provides a simple time ordered list of @ref Flag
* @ref Events in the @ref Song. These are just marked time positions.
*
* There is one FlagTrack per Song.
*
* @sect Command classes
*
* Use the following command classes to manipute this object in a undo/redo
* environment.
*
* @li @ref TSE3::Cmd::FlagTrack_Add
*
* @short A list of Flag events
* @author Pete Goodliffe
* @version 3.00
* @see Event
* @see Flag
*/
class FlagTrack : public EventTrack<Flag>,
public Serializable
{
public:
/**
* Creates an empty FlagTrack.
*/
FlagTrack();
virtual ~FlagTrack();
/**
* @reimplemented
*/
virtual PlayableIterator *iterator(Clock index);
/**
* @reimplemented
*/
virtual Clock lastClock() const;
/**
* @reimplemented
*/
virtual void save(std::ostream &o, int i) const;
/**
* @reimplemented
*/
virtual void load(std::istream &i, SerializableLoadInfo &info);
private:
FlagTrack &operator=(const FlagTrack &);
FlagTrack(const FlagTrack &);
/**
* Used by load to read events
*/
void loadEvents(std::istream &i, int filePPQN);
};
}
#endif
|