#ifndef MUSICCONTROLLER_H #define MUSICCONTROLLER_H #include #include #include #include #include #include #include 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