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" 108 void sig_find_track_requested(TrackID track_id);
178 PlaylistConstPtr active_playlist()
const;
181 int current_index()
const;
182 void set_current_index(
int pl_idx);
196 PlaylistConstPtr
playlist(
int pl_idx)
const;
243 Util::SaveAsAnswer
save_playlist_as(
int pl_idx,
const QString& name,
bool force_override);
270 int create_playlist(
const MetaDataList& v_md,
const QString& name=QString(),
bool temporary=
true, PlaylistType type=PlaylistType::Std);
280 int create_playlist(
const QStringList& path_list,
const QString& name=QString(),
bool temporary=
true, PlaylistType type=PlaylistType::Std);
291 int create_playlist(
const QString& dir,
const QString& name=QString(),
bool temporary=
true, PlaylistType type=PlaylistType::Std);
352 void www_track_finished(
const MetaData& md);
354 void current_track_changed(
int index);
355 void playlist_stopped();
357 void playlist_renamed(
int id,
const QString& old_name,
const QString& new_name);
358 void playlist_deleted(
int id);
368 int add_new_playlist(
const QString& name,
bool editable, PlaylistType type=PlaylistType::Std);
377 PlaylistPtr new_playlist(PlaylistType type, QString name);
385 int exists(
const QString& name)
const;
393 PlaylistPtr active_playlist();
401 PlaylistPtr
playlist(
int pl_idx, PlaylistPtr fallback)
const;
409 void emit_cur_track_changed();
415 void set_active_idx(
int pl_idx);
int create_playlist(const MetaDataList &v_md, const QString &name=QString(), bool temporary=true, PlaylistType type=PlaylistType::Std)
create a new playlist
void insert_tracks(const MetaDataList &v_md, int idx, int pl_idx)
insert tracks into a playlist at a given index
Util::SaveAsAnswer save_playlist_as(int pl_idx, const QString &name, bool force_override)
Save playlist under new name.
void save_playlist_to_file(int pl_idx, const QString &filename, bool relative)
save a playlist to file
void sig_current_track_changed(int track_idx, int playlist_idx)
emitted when current track index has changed
int create_empty_playlist(bool override_current=false)
create a new empty playlist
void delete_playlist(int pl_idx)
delete the given playlist from database
Global handler for playlists.
Definition: PlaylistHandler.h:51
void remove_rows(const IndexSet &indexes, int pl_idx)
remove rows from playlist
PlayState
The PlayState enum.
Definition: PlayState.h:28
void sig_current_playlist_changed(int idx)
emitted when tracks were added/removed or have changed
void sig_track_deletion_requested(const MetaDataList &v_md, Library::TrackDeletionMode deletion_mode)
emitted when a track deletion was triggered over the Ui
int close_playlist(int pl_idx)
close playlist
int active_index() const
get active playlist 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 play_next(const MetaDataList &v_md)
insert tracks to active playlist after current playback position
void sig_playlist_name_changed(int idx)
emitted when playlist name has changed
void sig_playlist_created(PlaylistPtr pl)
emitted when new playlist has been created
PlaylistIndex
The PlaylistIndex enum.
Definition: PlaylistHandler.h:63
int load_old_playlists()
load playlists of last session from database
PlaylistConstPtr playlist(int pl_idx) const
get specific playlist at given index
void change_track(int track_idx, int pl_idx)
change the track in a given playlist
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: Set.h:35
QString request_new_playlist_name(const QString &prefix=QString()) const
Request a new name for the playlist (usually New %1 is returned). If the prefix differs,...
TrackDeletionMode
The TrackDeletionMode enum.
Definition: LibraryNamespaces.h:36
Util::SaveAsAnswer save_playlist(int pl_idx)
save playlist to database, overwrite old one
void append_tracks(const MetaDataList &v_md, int pl_idx)
append tracks at a given playlist index
void clear_playlist(int pl_idx)
clears the current visible playlist
void sig_new_playlist_added(PlaylistPtr pl)
emitted when new playlist has been added
The CustomPlaylist class.
Definition: CustomPlaylist.h:31
Util::SaveAsAnswer rename_playlist(int pl_idx, const QString &name)
rename playlist
void reset_playlist(int pl_idx)
reload playlist from db
void move_rows(const IndexSet &indexes, int tgt_idx, int pl_idx)
move rows within playlist