00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef MARKER_H
00024 #define MARKER_H
00025
00026 #include "ContextItem.h"
00027 #include "Snappable.h"
00028 #include "defines.h"
00029 #include <QDomNode>
00030
00031 class TimeLine;
00032
00033 class Marker : public ContextItem, public Snappable
00034 {
00035 Q_OBJECT
00036
00037 public:
00038 enum Type {
00039 CDTRACK,
00040 ENDMARKER,
00041 };
00042
00043 Marker(TimeLine* tl, const TimeRef when, Type type = CDTRACK);
00044 Marker(TimeLine* tl, const QDomNode node);
00045 ~Marker() {};
00046
00047 QDomNode get_state(QDomDocument doc);
00048 int set_state(const QDomNode& node);
00049
00050 void set_description(const QString &);
00051 void set_performer(const QString &);
00052 void set_composer(const QString &);
00053 void set_songwriter(const QString &);
00054 void set_arranger(const QString &);
00055 void set_message(const QString &);
00056 void set_isrc(const QString &);
00057 void set_preemphasis(bool);
00058 void set_copyprotect(bool);
00059 void set_index(int);
00060
00061 TimeLine * get_timeline() const {return m_timeline;}
00062 TimeRef get_when() const {return m_when;}
00063 QString get_description() const {return m_description;}
00064 QString get_performer() const {return m_performer;}
00065 QString get_composer() const {return m_composer;}
00066 QString get_songwriter() const {return m_songwriter;}
00067 QString get_arranger() const {return m_arranger;}
00068 QString get_message() const {return m_message;}
00069 QString get_isrc() const {return m_isrc;}
00070 bool get_preemphasis();
00071 bool get_copyprotect();
00072 Type get_type() {return m_type;};
00073 int get_index() {return m_index;};
00074
00075
00076 public slots:
00077 void set_when (const TimeRef& when);
00078
00079
00080 private:
00081 TimeLine* m_timeline;
00082 TimeRef m_when;
00083 QString m_description,
00084 m_performer,
00085 m_composer,
00086 m_songwriter,
00087 m_arranger,
00088 m_message,
00089 m_isrc;
00090 bool m_preemph,
00091 m_copyprotect;
00092 Type m_type;
00093 int m_index;
00094
00095 signals:
00096 void positionChanged();
00097 void descriptionChanged();
00098 void indexChanged();
00099 };
00100
00101 #endif
00102
00103