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" 41 #include <QStringList> 91 void sig_current_track_changed(
int track_idx,
int playlist_idx);
103 void sig_playlist_name_changed(
int idx);
108 void sig_saved_playlists_changed();
111 void sig_current_playlist_changed(
int idx);
124 void clear_playlist(
int pl_idx);
138 void insert_tracks(
const MetaDataList& v_md,
int idx,
int pl_idx);
146 void append_tracks(
const MetaDataList& v_md,
int pl_idx);
154 void move_rows(
const IndexSet& indexes,
int tgt_idx,
int pl_idx);
162 void remove_rows(
const IndexSet& indexes,
int pl_idx);
170 void change_track(
int track_idx,
int pl_idx);
177 int active_index()
const;
181 int current_index()
const;
182 void set_current_index(
int pl_idx);
197 void delete_playlist(
int pl_idx);
203 int close_playlist(
int pl_idx);
210 void reset_playlist(
int pl_idx);
216 QString request_new_playlist_name()
const;
224 DBInterface::SaveAsAnswer save_playlist(
int pl_idx);
234 DBInterface::SaveAsAnswer save_playlist_as(
int pl_idx,
const QString& name,
bool force_override);
243 DBInterface::SaveAsAnswer rename_playlist(
int pl_idx,
const QString& name);
251 void save_playlist_to_file(
int pl_idx,
const QString& filename,
bool relative);
263 int create_playlist(
const MetaDataList& v_md,
const QString& name=QString(),
bool temporary=
true, Playlist::Type type=Playlist::Type::Std);
273 int create_playlist(
const QStringList& path_list,
const QString& name=QString(),
bool temporary=
true, Playlist::Type type=Playlist::Type::Std);
284 int create_playlist(
const QString& dir,
const QString& name=QString(),
bool temporary=
true, Playlist::Type type=Playlist::Type::Std);
300 int create_empty_playlist(
bool override_current=
false);
302 int create_empty_playlist(
const QString& name);
312 int load_old_playlists();
350 void www_track_finished(
const MetaData& md);
357 int add_new_playlist(
const QString& name,
bool editable, Playlist::Type type=Playlist::Type::Std);
360 PlaylistPtr new_playlist(Playlist::Type type,
int idx, QString name=
"");
368 int exists(
const QString& name)
const;
392 void emit_cur_track_changed();
398 void set_active_idx(
int pl_idx);
Global handler for playlists.
Definition: PlaylistHandler.h:59
TrackDeletionMode
The TrackDeletionMode enum.
Definition: LibraryNamespaces.h:35
Definition: AbstractPlaylist.h:35
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:72
Set namespace defines the setting: Which key and which type.
Definition: SettingKey.h:230
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:38
std::shared_ptr< Playlist::Base > PlaylistPtr
PlaylistPtr Playlist Pointer (only used internally)
Definition: PlaylistFwd.h:38
Definition: AbstractPlaylist.h:44