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;
48 [[nodiscard]]
virtual PlaylistPtr activePlaylist() = 0;
50 [[nodiscard]]
virtual int currentIndex()
const = 0;
51 virtual void setCurrentIndex(
int playlistIndex) = 0;
53 [[nodiscard]]
virtual PlaylistPtr playlist(
int playlistIndex) = 0;
54 [[nodiscard]]
virtual PlaylistPtr playlistById(
int playlistId) = 0;
56 [[nodiscard]]
virtual int count()
const = 0;
64 [[nodiscard]]
virtual PlaylistPtr playlist(
int playlistIndex) = 0;
65 [[nodiscard]]
virtual PlaylistPtr playlistById(
int playlistId) = 0;
67 [[nodiscard]]
virtual QString requestNewPlaylistName(
const QString& prefix = QString())
const = 0;
70 createPlaylist(
const MetaDataList& tracks,
const QString& name = QString(),
bool temporary =
true,
71 bool isLocked =
false) = 0;
73 createPlaylist(
const QStringList& pathList,
const QString& name = QString(),
bool temporary =
true,
75 virtual int createPlaylist(
const CustomPlaylist& customPlaylist) = 0;
76 virtual int createEmptyPlaylist(
bool override =
false) = 0;
77 virtual int createCommandLinePlaylist(
const QStringList& pathList,
Definition CustomPlaylist.h:30
Definition PlaylistInterface.h:43
Definition PlaylistInterface.h:60
Definition LocalPathPlaylistCreator.h:36