24#include "playlistmodel.h"
37 virtual bool next() = 0;
42 virtual bool previous() = 0;
46 virtual int nextIndex() = 0;
50 virtual void resetState()
57 virtual void prepare()
65 explicit PlayState(PlayListModel* model);
69 PlayListModel* m_model;
70 QmmpUiSettings *m_ui_settings;
77class NormalPlayState :
public PlayState
80 virtual bool next()
override;
81 virtual bool previous()
override;
82 virtual int nextIndex()
override;
83 explicit NormalPlayState(PlayListModel* model);
90class ShufflePlayState :
public PlayState
93 virtual bool next()
override;
94 virtual bool previous()
override;
95 virtual int nextIndex()
override;
96 virtual void prepare()
override;
97 explicit ShufflePlayState(PlayListModel* model);
98 virtual void resetState()
override;
102 int m_shuffled_current = 0;
105 QList<int> m_shuffled_indexes;