lena_pi/LenaPi/controllers/MusicController.h
2021-03-14 14:42:32 +01:00

52 lines
1.1 KiB
C++

#ifndef MUSICCONTROLLER_H
#define MUSICCONTROLLER_H
#include <QObject>
#include <QQmlContext>
#include <models/NavigationItemModel.h>
#include <VLCQtCore/Common.h>
#include <VLCQtCore/Instance.h>
#include <VLCQtCore/MediaListPlayer.h>
#include <VLCQtCore/Audio.h>
class MusicModel;
class MusicController : public QObject
{
Q_OBJECT
signals:
void navigateTo(NavigationItemModel* item);
public:
MusicController(QObject *parent = Q_NULLPTR);
~MusicController();
void initPlayer(NavigationItemModel* item);
void setContext(QQmlContext* context);
private:
void setContextProperties();
QQmlContext* mContext = Q_NULLPTR;
MusicModel* mModel = Q_NULLPTR;
VlcInstance* mVlc = Q_NULLPTR;
VlcMediaListPlayer* mPlayer = Q_NULLPTR;
VlcAudio* mVlcAudio = Q_NULLPTR;
bool mIsMediaListSet = false;
private slots:
/**
* @brief Stop player if necessary and forward signal navigatTo
* @param item target of navigation request
* @see navigateTo(NavigationItemModel* item);
*/
void onNavigationRequest(NavigationItemModel* item);
};
#endif // MUSICCONTROLLER_H