21 #ifndef PLAYLISTMODE_H_ 22 #define PLAYLISTMODE_H_ 27 #include <QStringList> 35 enum PlaylistModeState
43 PlaylistModeState _rep1;
44 PlaylistModeState _repAll;
45 PlaylistModeState _append;
46 PlaylistModeState _shuffle;
47 PlaylistModeState _dynamic;
48 PlaylistModeState _gapless;
50 PlaylistModeState set_state(
bool active,
bool enabled){
51 quint8 ret = PlaylistMode::Off;
53 ret |= PlaylistMode::On;
57 ret |= PlaylistMode::Disabled;
60 return (PlaylistModeState) ret;
64 PlaylistModeState rep1()
const {
return _rep1; }
65 PlaylistModeState repAll()
const {
return _repAll; }
66 PlaylistModeState append()
const {
return _append; }
67 PlaylistModeState shuffle()
const {
return _shuffle; }
68 PlaylistModeState dynamic()
const {
return _dynamic; }
69 PlaylistModeState gapless()
const {
return _gapless; }
71 void setRep1(PlaylistModeState state){ _rep1 = state; }
72 void setRepAll(PlaylistModeState state){ _repAll = state; }
73 void setAppend(PlaylistModeState state){ _append = state; }
74 void setShuffle(PlaylistModeState state){ _shuffle = state; }
75 void setDynamic(PlaylistModeState state){ _dynamic = state; }
76 void setGapless(PlaylistModeState state){ _gapless = state; }
78 void setRep1(
bool on,
bool enabled=
true){ _rep1 = set_state(on, enabled); }
79 void setRepAll(
bool on,
bool enabled=
true){ _repAll = set_state(on, enabled); }
80 void setAppend(
bool on,
bool enabled=
true){ _append = set_state(on, enabled); }
81 void setShuffle(
bool on,
bool enabled=
true){ _shuffle = set_state(on, enabled); }
82 void setDynamic(
bool on,
bool enabled=
true){ _dynamic = set_state(on, enabled); }
83 void setGapless(
bool on,
bool enabled=
true){ _gapless = set_state(on, enabled); }
85 static bool isActive(PlaylistModeState pl)
87 quint8 ipl = (quint8) pl;
88 return ( ipl & PlaylistMode::On );
91 static bool isEnabled(PlaylistModeState pl){
92 quint8 ipl = (quint8) pl;
93 return (( ipl & PlaylistMode::Disabled ) == 0);
96 static bool isActiveAndEnabled(PlaylistModeState pl)
98 return (isEnabled(pl) && isActive(pl));
102 _rep1 = PlaylistMode::Off;
103 _repAll = PlaylistMode::On;
104 _append = PlaylistMode::Off;
106 _shuffle = PlaylistMode::Off;
107 _gapless = PlaylistMode::Off;
108 _dynamic = PlaylistMode::Off;
112 cout <<
"rep1 = " << (int) _rep1 <<
", " 113 <<
"repAll = " << (
int) _repAll <<
", " 114 <<
"append = " << (int) _append <<
", " 115 <<
"dynamic = " << (
int) _dynamic <<
"," 116 <<
"gapless = " << (int) _gapless << endl;
120 QString toString()
const {
122 str += QString::number((
int) _append) + QString(
",");
123 str += QString::number((
int) _repAll) + QString(
",");
124 str += QString::number((
int) _rep1) + QString(
",");
126 str += QString::number((
int) _shuffle) + QString(
",");
127 str += QString::number((
int) _dynamic) + QString(
",");
128 str += QString::number((
int) _gapless);
136 QStringList list = str.split(
',');
138 if(list.size() < 6)
return plm;
140 plm.setAppend((PlaylistModeState) list[0].toInt());
141 plm.setRepAll((PlaylistModeState) list[1].toInt());
142 plm.setRep1((PlaylistModeState) list[2].toInt());
143 plm.setShuffle((PlaylistModeState) list[4].toInt());
144 plm.setDynamic((PlaylistModeState) list[5].toInt());
147 plm.setGapless((PlaylistModeState) list[6].toInt());
155 if(pm.append() != _append)
return false;
156 if(pm.repAll() != _repAll)
return false;
157 if(pm.rep1() != _rep1)
return false;
158 if(pm.shuffle() != _shuffle)
return false;
159 if(pm.dynamic() != _dynamic)
return false;
160 if(pm.gapless() != _gapless)
return false;
Definition: PlaylistMode.h:32