![]() |
Mixxx
|
00001 // cue.h 00002 // Created 10/26/2009 by RJ Ryan (rryan@mit.edu) 00003 00004 #ifndef CUE_H 00005 #define CUE_H 00006 00007 #include <QObject> 00008 #include <QMutex> 00009 00010 class CueDAO; 00011 class TrackInfoObject; 00012 00013 class Cue : public QObject { 00014 Q_OBJECT 00015 public: 00016 enum CueType { 00017 INVALID = 0, 00018 CUE, 00019 LOAD, 00020 BEAT, 00021 LOOP, 00022 JUMP, 00023 }; 00024 00025 virtual ~Cue(); 00026 00027 bool isDirty(); 00028 int getId(); 00029 int getTrackId(); 00030 00031 CueType getType(); 00032 void setType(CueType type); 00033 00034 int getPosition(); 00035 void setPosition(int position); 00036 00037 int getLength(); 00038 void setLength(int length); 00039 00040 int getHotCue(); 00041 void setHotCue(int hotCue); 00042 00043 const QString getLabel(); 00044 void setLabel(const QString label); 00045 00046 signals: 00047 void updated(); 00048 00049 private: 00050 Cue(int trackId); 00051 Cue(int id, int trackId, CueType type, int position, int length, 00052 int hotCue, QString label); 00053 void setDirty(bool dirty); 00054 void setId(int id); 00055 void setTrackId(int trackId); 00056 00057 bool m_bDirty; 00058 bool m_bDelete; 00059 int m_iId; 00060 int m_iTrackId; 00061 CueType m_type; 00062 int m_iPosition; 00063 int m_iLength; 00064 int m_iHotCue; 00065 QString m_label; 00066 QMutex m_mutex; 00067 00068 friend class TrackInfoObject; 00069 friend class CueDAO; 00070 }; 00071 00072 #endif /* CUE_H */