You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
3.4 KiB
C++
127 lines
3.4 KiB
C++
#ifndef CTRACK_H
|
|
#define CTRACK_H
|
|
|
|
|
|
#include <QMetaType>
|
|
#include <QString>
|
|
#include <QDate>
|
|
#include <QList>
|
|
|
|
|
|
class cAlbum;
|
|
|
|
/*
|
|
" fileName TEXT, "
|
|
" fileSize INTEGER, "
|
|
" fileDate DATE, "
|
|
" fileType TEXT, "
|
|
" length INTEGER, "
|
|
" bitrate INTEGER, "
|
|
" sampleRate INTEGER, "
|
|
" channels INTEGER, "
|
|
" bitsPerSample INTEGER, "
|
|
" layer INTEGER, "
|
|
" version INTEGER, "
|
|
" sampleWidth INTEGER, "
|
|
" sampleFrames INTEGER, "
|
|
" isEncrypted BOOL, "
|
|
" trackGain INTEGER, "
|
|
" albumGain INTEGER, "
|
|
" trackPeak INTEGER, "
|
|
" albumPeak INTEGER, "
|
|
" protectionEnabled BOOL, "
|
|
" channelMode INTEGER, "
|
|
" isCopyrighted BOOL, "
|
|
" isOriginal BOOL, "
|
|
" copyright TEXT, "
|
|
" contentGroupDescription TEXT, "
|
|
" subTitle TEXT, "
|
|
" originalAlbum TEXT, "
|
|
" subTitleOfSet TEXT, "
|
|
" internationalStandardRecordingCode TEXT, "
|
|
" leadArtist TEXT, "
|
|
" conductor TEXT, "
|
|
" interpret TEXT, "
|
|
" originalArtist TEXT, "
|
|
" textWriter TEXT, "
|
|
" originalTextWriter TEXT, "
|
|
" encodedBy TEXT, "
|
|
" beatsPerMinute INTEGER, "
|
|
" language TEXT, "
|
|
" contentType TEXT, "
|
|
" mediaType TEXT, "
|
|
" mood TEXT, "
|
|
" producedNotice TEXT, "
|
|
" publisher TEXT, "
|
|
" fileOwner TEXT, "
|
|
" internetRadioStationName TEXT, "
|
|
" internetRadioStationOwner TEXT, "
|
|
" originalFilename TEXT, "
|
|
" playlistDelay TEXT, "
|
|
" encodingTime INTEGER, "
|
|
" originalReleaseTime DATE, "
|
|
" releaseTime DATE, "
|
|
" taggingTime DATE, "
|
|
" swhwSettings TEXT, "
|
|
" albumSortOrder TEXT, "
|
|
" performerSortOrder TEXT, "
|
|
" titleSortOrder TEXT, "
|
|
" synchronizedLyrics TEXT, "
|
|
" unsynchronizedLyrics TEXT)"))
|
|
*/
|
|
|
|
class cTrack
|
|
{
|
|
public:
|
|
cTrack(cAlbum* lpAlbum, const QString& szTitle, const QString& szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString &szLeadArtist, const QString& szComposer, const QDate& recordingTime, const QString &szFileName);
|
|
|
|
void setAlbum(cAlbum* lpAlbum);
|
|
cAlbum* album();
|
|
|
|
void setTitle(const QString& szTitle);
|
|
QString title();
|
|
|
|
void setTrackNumber(const QString& szTrackNumber);
|
|
QString trackNumber();
|
|
|
|
void setPartOfSet(const QString& szPartOfSet);
|
|
QString partOfSet();
|
|
|
|
void setBand(const QString& szBand);
|
|
QString band();
|
|
|
|
void setLeadArtist(const QString& szLeadArtist);
|
|
QString leadArtist();
|
|
|
|
void setComposer(const QString& szComposer);
|
|
QString composer();
|
|
|
|
void setRecordingTime(const QDate &recordingTime);
|
|
QDate recordingTime();
|
|
|
|
void setFileName(const QString& szFileName);
|
|
QString fileName();
|
|
|
|
private:
|
|
cAlbum* m_lpAlbum;
|
|
QString m_szTitle;
|
|
QString m_szTrackNumber;
|
|
QString m_szPartOfSet;
|
|
QString m_szBand;
|
|
QString m_szLeadArtist;
|
|
QString m_szComposer;
|
|
QDate m_recordingTime;
|
|
QString m_szFileName;
|
|
};
|
|
|
|
Q_DECLARE_METATYPE(cTrack*)
|
|
|
|
class cTrackList : public QList<cTrack*>
|
|
{
|
|
public:
|
|
cTrack* add(cAlbum* lpAlbum, const QString& szTitle, const QString& szTrackNumber, const QString& szPartOfSet, const QString& szBand, const QString& szLeadArtist, const QString& szComposer, const QDate& recordingTime, const QString& szFileName);
|
|
void sort(qint32 sort);
|
|
};
|
|
|
|
#endif // CTRACK_H
|