Download this file

PlaylistMode.h    67 lines (55 with data), 1.8 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* Copyright (C) 2011 Lucio Carreras
*
* This file is part of sayonara player
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef PLAYLISTMODE_H_
#define PLAYLISTMODE_H_
struct Playlist_Mode {
// Modes for playing the track sequence: both can be set
// Restart when done.
bool repAll;
// Play in random order.
bool shuffle;
// Modes for adding tracks
// Add at end of list, else after current track
bool append;
// Replace current list. This implies append of course, so
// grey-out append when this is set
bool replace;
// Begin playing the first track added.
bool playAdded;
Playlist_Mode() {
fromInt(0);
}
Playlist_Mode(int val) {
fromInt(val);
}
int toInt() const {
int ret = 0;
if (repAll) ret |= 1;
if (shuffle) ret |= 2;
if (append) ret |= 4;
if (replace) ret |= 8;
if (playAdded) ret |= 16;
return ret;
}
void fromInt(int val) {
repAll = (val & 1) != 0;
shuffle = (val & 2) != 0;
append = (val & 4) != 0;
replace = (val & 8) != 0;
playAdded = (val & 16) != 0;
}
};
#endif