diff --git a/LenaPi/controllers/MusicController.cpp b/LenaPi/controllers/MusicController.cpp index f95fb65..4e646b6 100644 --- a/LenaPi/controllers/MusicController.cpp +++ b/LenaPi/controllers/MusicController.cpp @@ -25,9 +25,12 @@ MusicController::~MusicController() void MusicController::initPlayer(NavigationItemModel *item) { - mModel->init(item); mPlayer->stop(); - mPlayer->setMediaList(mModel->getMedia()); + mModel->init(item); + if(!mIsMediaListSet){ + mPlayer->setMediaList(mModel->getMedia()); + mIsMediaListSet = true; + } } void MusicController::setContext(QQmlContext *context) diff --git a/LenaPi/controllers/MusicController.h b/LenaPi/controllers/MusicController.h index f0b0416..8c2a64d 100644 --- a/LenaPi/controllers/MusicController.h +++ b/LenaPi/controllers/MusicController.h @@ -35,6 +35,8 @@ private: VlcInstance* mVlc; VlcMediaListPlayer* mPlayer; + + bool mIsMediaListSet = false; }; #endif // MUSICCONTROLLER_H diff --git a/LenaPi/models/MusicModel.cpp b/LenaPi/models/MusicModel.cpp index d9132f9..a4ae22a 100644 --- a/LenaPi/models/MusicModel.cpp +++ b/LenaPi/models/MusicModel.cpp @@ -4,7 +4,7 @@ #include MusicModel::MusicModel(VlcInstance* instance, QObject *parent) : QObject(parent), - mVlc(instance)//, mMedia(new VlcMediaList(instance)) + mVlc(instance), mMedia(new VlcMediaList(instance)) { } @@ -20,13 +20,9 @@ void MusicModel::init(NavigationItemModel *item) mCurrentItem = item; emit currentItemChanged(); - /*for(int i = 0; i < mMedia->count(); i++){ - mMedia->removeMedia(i); + while(mMedia->count() > 0){ + mMedia->removeMedia(0); } - qDebug() << mMedia->count(); - */ - if(mMedia) delete mMedia; - mMedia = new VlcMediaList(mVlc); auto dir = QDir(mCurrentItem->getPath()); if(!dir.exists()) return;