Sayonara Player
src
Components
Playlist
PlaylistShuffleHistory.h
1
/* ShuffleBehavior.h */
2
/*
3
* Copyright (C) 2011-2021 Michael Lugmair
4
*
5
* This file is part of sayonara player
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
#ifndef SAYONARA_PLAYER_PLAYLISTSHUFFLEHISTORY_H
21
#define SAYONARA_PLAYER_PLAYLISTSHUFFLEHISTORY_H
22
23
#include "Utils/Pimpl.h"
24
#include "Utils/MetaData/LibraryItem.h"
25
26
class
MetaData
;
27
28
namespace
Playlist
29
{
30
class
Playlist;
31
class
ShuffleHistory
32
{
33
PIMPL(
ShuffleHistory
)
34
35
public
:
36
explicit
ShuffleHistory
(
Playlist
* playlist);
37
~ShuffleHistory
();
38
39
void
addTrack(
const
MetaData
& track);
40
void
popBack();
41
42
[[nodiscard]]
int
nextTrackIndex(
bool
isRepeatAllEnabled)
const
;
43
[[nodiscard]]
int
previousShuffleIndex()
const
;
44
45
void
replaceTrack(
const
MetaData
& oldTrack,
const
MetaData
& newTrack);
46
void
clear();
47
};
48
}
49
50
#endif
//SAYONARA_PLAYER_PLAYLISTSHUFFLEHISTORY_H
MetaData
The MetaData class.
Definition:
MetaData.h:47
Playlist::Playlist
Definition:
Playlist.h:40
Playlist::ShuffleHistory
Definition:
PlaylistShuffleHistory.h:32
Generated on Wed Aug 31 2022 00:00:00 for Sayonara Player by
1.9.4