29 #ifndef PLAYLISTHANDLER_H_ 30 #define PLAYLISTHANDLER_H_ 32 #include "PlaylistDBInterface.h" 33 #include "Components/PlayManager/PlayState.h" 35 #include "Utils/Pimpl.h" 36 #include "Utils/Singleton.h" 37 #include "Utils/Settings/SayonaraClass.h" 38 #include "Utils/Playlist/PlaylistFwd.h" 39 #include "Utils/Library/LibraryNamespaces.h" 89 void sig_cur_track_idx_changed(
int track_idx,
int playlist_idx);
101 void sig_playlist_name_changed(
int idx);
106 void sig_saved_playlists_changed();
109 void sig_playlist_idx_changed(
int idx);
120 void clear_playlist(
int pl_idx);
134 void insert_tracks(
const MetaDataList& v_md,
int idx,
int pl_idx);
142 void append_tracks(
const MetaDataList& v_md,
int pl_idx);
150 void move_rows(
const IndexSet& indexes,
int tgt_idx,
int pl_idx);
158 void remove_rows(
const IndexSet& indexes,
int pl_idx);
166 void change_track(
int track_idx,
int pl_idx);
173 int active_index()
const;
175 int current_index()
const;
176 void set_current_index(
int pl_idx);
191 void delete_playlist(
int pl_idx);
197 void close_playlist(
int pl_idx);
204 void reset_playlist(
int pl_idx);
210 QString request_new_playlist_name()
const;
215 void save_all_playlists();
222 DBInterface::SaveAsAnswer save_playlist(
int pl_idx);
232 DBInterface::SaveAsAnswer save_playlist_as(
int pl_idx,
const QString& name,
bool force_override);
241 DBInterface::SaveAsAnswer rename_playlist(
int pl_idx,
const QString& name);
249 void save_playlist_to_file(
int pl_idx,
const QString& filename,
bool relative);
258 int load_old_playlists();
269 int create_playlist(
const MetaDataList& v_md,
const QString& name=QString(),
bool temporary=
true, Playlist::Type type=Playlist::Type::Std);
280 int create_playlist(
const QStringList& path_list,
const QString& name=QString(),
bool temporary=
true, Playlist::Type type=Playlist::Type::Std);
291 int create_playlist(
const QString& dir,
const QString& name=QString(),
bool temporary=
true, Playlist::Type type=Playlist::Type::Std);
306 int create_empty_playlist(
bool override_current=
false);
308 int create_empty_playlist(
const QString& name);
349 void www_track_finished(
const MetaData& md);
356 int add_new_playlist(
const QString& name,
bool editable, Playlist::Type type=Playlist::Type::Std);
359 PlaylistPtr new_playlist(Playlist::Type type,
int idx, QString name=
"");
367 int exists(
const QString& name)
const;
391 void emit_cur_track_changed();
397 void set_active_idx(
int pl_idx);
Global handler for playlists.
Definition: PlaylistHandler.h:57
TrackDeletionMode
The TrackDeletionMode enum.
Definition: LibraryNamespaces.h:35
Definition: AbstractPlaylist.h:33
The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:29
PlayState
The PlayState enum.
Definition: PlayState.h:28
PlaylistIndex
The PlaylistIndex enum.
Definition: PlaylistHandler.h:70
Set namespace defines the setting: Which key and which type.
Definition: SettingKey.h:216
std::shared_ptr< const Playlist::Base > PlaylistConstPtr
PlaylistConstPtr read only Playlist Pointer.
Definition: PlaylistFwd.h:45
The CustomPlaylist class.
Definition: CustomPlaylist.h:31
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: AbstractPlaylist.h:36
std::shared_ptr< Playlist::Base > PlaylistPtr
PlaylistPtr Playlist Pointer (only used internally)
Definition: PlaylistFwd.h:38
Definition: AbstractPlaylist.h:42