29 #ifndef PLAYLISTHANDLER_H_ 30 #define PLAYLISTHANDLER_H_ 32 #include "PlaylistDBInterface.h" 34 #include "Components/PlayManager/PlayState.h" 36 #include "Utils/Pimpl.h" 37 #include "Utils/Singleton.h" 38 #include "Utils/Playlist/PlaylistFwd.h" 39 #include "Utils/Library/LibraryNamespaces.h" 100 void sigActivePlaylistChanged(
int idx);
109 void sigFindTrackRequested(TrackID trackId);
131 void playNext(
const QStringList& paths);
140 void insertTracks(
const QStringList& paths,
int idx,
int playlistIndex);
149 void appendTracks(
const QStringList& paths,
int playlistIndex);
173 void changeTrack(
int trackIndex,
int playlistIndex);
181 PlaylistConstPtr activePlaylist()
const;
184 int current_index()
const;
185 void set_current_index(
int playlistIndex);
199 PlaylistConstPtr
playlist(
int playlistIndex)
const;
246 Util::SaveAsAnswer
savePlaylistAs(
int playlistIndex,
const QString& name,
bool forceOverride);
255 Util::SaveAsAnswer
renamePlaylist(
int playlistIndex,
const QString& name);
273 int createPlaylist(
const MetaDataList& tracks,
const QString& name=QString(),
bool temporary=
true, PlaylistType type=PlaylistType::Std);
283 int createPlaylist(
const QStringList& path_list,
const QString& name=QString(),
bool temporary=
true, PlaylistType type=PlaylistType::Std);
294 int createPlaylist(
const QString& dir,
const QString& name=QString(),
bool temporary=
true, PlaylistType type=PlaylistType::Std);
354 void wwwTrackFinished(
const MetaData& md);
356 void currentTrackChanged(
int index);
357 void playlistStopped();
359 void playlistRenamed(
int id,
const QString& oldName,
const QString& newName);
360 void playlistDeleted(
int id);
366 void filescannerProgressChanged(
const QString& current_file);
377 int addNewPlaylist(
const QString& name,
bool editable, PlaylistType type=PlaylistType::Std);
386 PlaylistPtr newPlaylist(PlaylistType type, QString name);
394 int exists(
const QString& name)
const;
402 PlaylistPtr activePlaylist();
410 PlaylistPtr
playlist(
int playlistIndex, PlaylistPtr fallback)
const;
418 void emitCurrentTrackChanged();
424 void setActiveIndex(
int playlist_index);
434 void createFilescanner(
int playlist_index,
const QStringList& paths,
int target_row_idx);
void sigPlaylistNameChanged(int idx)
emitted when playlist name has changed
void appendTracks(const MetaDataList &tracks, int playlistIndex)
append tracks at a given playlist index
Global handler for playlists.
Definition: PlaylistHandler.h:51
void moveRows(const IndexSet &indexes, int tgt_idx, int playlistIndex)
move rows within playlist
void sigPlaylistCreated(PlaylistPtr pl)
emitted when new playlist has been created
void removeRows(const IndexSet &indexes, int playlistIndex)
remove rows from playlist
PlayState
The PlayState enum.
Definition: PlayState.h:28
int createEmptyPlaylist(bool overrideCurrent=false)
create a new empty playlist
void resetPlaylist(int playlistIndex)
reload playlist from db
void savePlaylistToFile(int playlistIndex, const QString &filename, bool relative)
save a playlist to file
void insertTracks(const MetaDataList &tracks, int idx, int playlistIndex)
insert tracks into a playlist at a given index
int count() const
Returns number of playlists.
void shutdown()
Call this before the program stops. Singletons and Destructors don't work out so well.
void sigCurrentTrackChanged(int trackIndex, int playlist_idx)
emitted when current track index has changed
PlaylistIndex
The PlaylistIndex enum.
Definition: PlaylistHandler.h:63
int loadOldPlaylists()
load playlists of last session from database
int activeIndex() const
get active playlist index
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: Set.h:35
void changeTrack(int trackIndex, int playlistIndex)
change the track in a given playlist
TrackDeletionMode
The TrackDeletionMode enum.
Definition: LibraryNamespaces.h:36
Util::SaveAsAnswer savePlaylistAs(int playlistIndex, const QString &name, bool forceOverride)
Save playlist under new name.
QString requestNewPlaylistName(const QString &prefix=QString()) const
Request a new name for the playlist (usually New %1 is returned). If the prefix differs,...
Util::SaveAsAnswer renamePlaylist(int playlistIndex, const QString &name)
rename playlist
int createPlaylist(const MetaDataList &tracks, const QString &name=QString(), bool temporary=true, PlaylistType type=PlaylistType::Std)
create a new playlist
void playNext(const MetaDataList &tracks)
insert tracks to active playlist after current playback position
void deletePlaylist(int playlistIndex)
delete the given playlist from database
Util::SaveAsAnswer savePlaylist(int playlistIndex)
save playlist to database, overwrite old one
The CustomPlaylist class.
Definition: CustomPlaylist.h:31
int closePlaylist(int playlistIndex)
close playlist
PlaylistConstPtr playlist(int playlistIndex) const
get specific playlist at given index
void sigNewPlaylistAdded(PlaylistPtr pl)
emitted when new playlist has been added
void clearPlaylist(int playlistIndex)
clears the current visible playlist
void sigTrackDeletionRequested(const MetaDataList &tracks, Library::TrackDeletionMode deletion_mode)
emitted when a track deletion was triggered over the Ui
void sigCurrentPlaylistChanged(int idx)
emitted when tracks were added/removed or have changed