lena_pi/LenaPi/controllers/MusicController.cpp

40 lines
909 B
C++

#include "MusicController.h"
#include <QDebug>
#include <models/MusicModel.h>
MusicController::MusicController(QObject *parent) : QObject(parent)
{
mVlc = new VlcInstance(VlcCommon::args(), this);
mModel = new MusicModel(mVlc, this);
mPlayer = new VlcMediaPlayer(mVlc);
connect(mPlayer, &VlcMediaPlayer::error, [this](){
qDebug() << "playerError";
});
connect(mModel, &MusicModel::navigateTo, this, &MusicController::navigateTo);
}
MusicController::~MusicController()
{
mPlayer->deleteLater();
}
void MusicController::initPlayer(NavigationItemModel *item)
{
mModel->init(item);
mPlayer->open(mModel->getMedia());
}
void MusicController::setContext(QQmlContext *context)
{
mContext = context;
setContextProperties();
}
void MusicController::setContextProperties()
{
if(!mContext) return;
mContext->setContextProperty("musicModel", mModel);
}