Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/library/dao/cue.h

Go to the documentation of this file.
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 */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines