lms-audio/src/medialibrary.h

42 lines
1 KiB
C++

#ifndef MEDIALIBRARY_H
#define MEDIALIBRARY_H
#include <QDir>
#include "settings.h"
#include "defines.h"
// Media Information for MELIn packages. v1.0
struct MediaFile {
quint8 Number; // 0-based contiguous index of the media.
QString MediaName;// Media name.
quint32 MediaLength;// Media length (in frames).
};
// Media Library for ELin packages v1.0
struct MediaFolder {
quint8 m_Id; // Library id.
QString m_Name;// Library name.
quint8 m_ElementCount;// Number of elements in the library.
QList<MediaFile> m_MediaInformation; // Pointer to the Medias Information List of this Library
};
class MediaLibrary : public QObject
{
Q_OBJECT
public:
MediaLibrary(QObject *parent = 0);
QString requestNewFile(int folder, int layer);
void initMediaLibrary();
inline uint getMediaFolderCount(int folder) {
return m_media->at(folder).m_ElementCount;
}
private:
QList<MediaFolder> *m_media;
QList<MediaFile> getMediaInformation(QDir dir);
};
#endif // MEDIALIBRARY_H