#include "MusicController.h" #include #include #include MusicController::MusicController(QObject *parent) : QObject(parent) { mVlc = new VlcInstance(VlcCommon::args(), this); mModel = new MusicModel(mVlc, this); mPlayer = new VlcMediaListPlayer(mVlc); connect(mModel, &MusicModel::navigateTo, this, &MusicController::navigateTo); connect(mModel, &MusicModel::play, mPlayer, &VlcMediaListPlayer::play); connect(mModel, &MusicModel::pause, mPlayer->mediaPlayer(), &VlcMediaPlayer::pause); connect(mModel, &MusicModel::navigateTo, [this](NavigationItemModel*){ if(mModel->isPlaying()) mModel->playPause(); }); } MusicController::~MusicController() { mPlayer->deleteLater(); } void MusicController::initPlayer(NavigationItemModel *item) { mPlayer->stop(); mModel->init(item); if(!mIsMediaListSet){ mPlayer->setMediaList(mModel->getMedia()); mIsMediaListSet = true; } } void MusicController::setContext(QQmlContext *context) { mContext = context; setContextProperties(); } void MusicController::setContextProperties() { if(!mContext) return; mContext->setContextProperty("musicModel", mModel); }