29 #ifndef PLAYLISTHANDLER_H_ 30 #define PLAYLISTHANDLER_H_ 32 #include "PlaylistDBInterface.h" 33 #include "Components/PlayManager/PlayState.h" 35 #include "Helper/Singleton.h" 36 #include "Helper/Settings/SayonaraClass.h" 37 #include "Helper/Playlist/PlaylistFwd.h" 38 #include "Helper/Library/LibraryNamespaces.h" 87 void sig_cur_track_idx_changed(
int track_idx,
int playlist_idx);
99 void sig_playlist_name_changed(
int idx);
104 void sig_saved_playlists_changed();
107 void sig_playlist_idx_changed(
int idx);
118 void clear_playlist(
int pl_idx);
132 void insert_tracks(
const MetaDataList& v_md,
int idx,
int pl_idx);
140 void append_tracks(
const MetaDataList& v_md,
int pl_idx);
148 void move_rows(
const SP::Set<int>& indexes,
int tgt_idx,
int pl_idx);
156 void remove_rows(
const SP::Set<int>& indexes,
int pl_idx);
164 void change_track(
int track_idx,
int pl_idx);
170 int get_active_idx_of_cur_track()
const;
177 int get_active_idx()
const;
179 int get_current_idx()
const;
180 void set_current_idx(
int pl_idx);
195 void delete_playlist(
int pl_idx);
201 void close_playlist(
int pl_idx);
208 void reset_playlist(
int pl_idx);
214 QString request_new_playlist_name()
const;
219 void save_all_playlists();
226 PlaylistDBInterface::SaveAsAnswer save_playlist(
int pl_idx);
236 PlaylistDBInterface::SaveAsAnswer save_playlist_as(
int pl_idx,
const QString& name,
bool force_override);
245 PlaylistDBInterface::SaveAsAnswer rename_playlist(
int pl_idx,
const QString& name);
253 void save_playlist_to_file(
const QString& filename,
bool relative);
262 int load_old_playlists();
273 int create_playlist(
const MetaDataList& v_md,
const QString& name=QString(),
bool temporary=
true, Playlist::Type type=Playlist::Type::Std);
284 int create_playlist(
const QStringList& path_list,
const QString& name=QString(),
bool temporary=
true, Playlist::Type type=Playlist::Type::Std);
295 int create_playlist(
const QString& dir,
const QString& name=QString(),
bool temporary=
true, Playlist::Type type=Playlist::Type::Std);
310 int create_empty_playlist(
const QString& name);
349 void www_track_finished(
const MetaData& md);
359 int _active_playlist_idx;
360 int _current_playlist_idx;
365 int add_new_playlist(
const QString& name,
bool editable, Playlist::Type type=Playlist::Type::Std);
368 PlaylistPtr new_playlist(Playlist::Type type,
int idx, QString name=
"");
376 int exists(
const QString& name)
const;
400 void emit_cur_track_changed();
406 void set_active_idx(
int pl_idx);
TrackDeletionMode
The TrackDeletionMode enum.
Definition: LibraryNamespaces.h:35
The MetaDataList class.
Definition: AbstractPlaylist.h:34
The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:29
Definition: DatabaseConnector.h:38
PlaylistIndex
The PlaylistIndex enum.
Definition: PlaylistHandler.h:68
Global handler for current playback state (Singleton)
Definition: PlayManager.h:37
Set namespace defines the setting: Which key and which type.
Definition: SettingKey.h:200
std::shared_ptr< AbstractPlaylist > PlaylistPtr
PlaylistPtr Playlist Pointer (only used internally)
Definition: PlaylistFwd.h:27
std::shared_ptr< const AbstractPlaylist > PlaylistConstPtr
PlaylistConstPtr read only Playlist Pointer.
Definition: PlaylistFwd.h:41
Global handler for playlists.
Definition: PlaylistHandler.h:57
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:37
PlayState
The PlayState enum.
Definition: PlayState.h:30