20#ifndef SAYONARA_PLAYER_PLAYLISTINTERFACE_H
21#define SAYONARA_PLAYER_PLAYLISTINTERFACE_H
36using PlaylistPtr = std::shared_ptr<::Playlist::Playlist>;
40 class LocalPathPlaylistCreator;
47 [[nodiscard]]
virtual int activeIndex()
const = 0;
49 [[nodiscard]]
virtual int currentIndex()
const = 0;
50 virtual void setCurrentIndex(
int playlistIndex) = 0;
52 [[nodiscard]]
virtual PlaylistPtr playlist(
int playlistIndex) = 0;
53 [[nodiscard]]
virtual PlaylistPtr playlistById(
int playlistId) = 0;
55 [[nodiscard]]
virtual int count()
const = 0;
63 [[nodiscard]]
virtual PlaylistPtr playlist(
int playlistIndex) = 0;
64 [[nodiscard]]
virtual PlaylistPtr playlistById(
int playlistId) = 0;
66 [[nodiscard]]
virtual QString requestNewPlaylistName(
const QString& prefix = QString())
const = 0;
69 createPlaylist(
const MetaDataList& tracks,
const QString& name = QString(),
bool temporary =
true,
70 bool isLocked =
false) = 0;
72 createPlaylist(
const QStringList& pathList,
const QString& name = QString(),
bool temporary =
true,
74 virtual int createPlaylist(
const CustomPlaylist& customPlaylist) = 0;
75 virtual int createEmptyPlaylist(
bool override =
false) = 0;
76 virtual int createCommandLinePlaylist(
const QStringList& pathList,
Definition: CustomPlaylist.h:30
Definition: PlaylistInterface.h:43
Definition: PlaylistInterface.h:59
Definition: LocalPathPlaylistCreator.h:36