24 #include "PlaylistDBInterface.h" 25 #include "Utils/Playlist/PlaylistFwd.h" 26 #include "Utils/Playlist/PlaylistMode.h" 27 #include "Utils/Settings/SayonaraClass.h" 28 #include "Utils/Pimpl.h" 55 friend class PlaylistHandler;
58 void sig_data_changed(
int idx);
61 explicit Base(
int idx,
const QString& name=QString());
64 QStringList toStringList()
const;
66 IdxList find_tracks(
int id)
const;
67 IdxList find_tracks(
const QString& filepath)
const;
68 int current_track_index()
const;
69 bool current_track(
MetaData& metadata)
const;
71 void set_index(
int idx);
73 uint64_t running_time()
const;
77 Playlist::Type type()
const = 0;
81 bool is_empty()
const override;
82 int count()
const override;
85 void set_changed(
bool b)
override;
86 bool was_changed()
const override;
87 bool is_storable()
const override;
90 virtual void replace_track(
int idx,
const MetaData& metadata);
92 virtual void play()=0;
93 virtual void pause()=0;
94 virtual void stop()=0;
97 virtual void next()=0;
98 virtual bool wake_up()=0;
101 void set_storable(
bool b);
104 const MetaData& operator[](
int idx)
const;
107 const MetaData& metadata(
int idx)
const;
112 virtual void clear();
114 virtual void move_tracks(
const IndexSet& indexes,
int tgt);
116 virtual void copy_tracks(
const IndexSet& indexes,
int tgt);
118 virtual void delete_tracks(
const IndexSet& indexes);
120 virtual void insert_track(
const MetaData& metadata,
int tgt);
121 virtual void insert_tracks(
const MetaDataList& lst,
int tgt);
125 virtual bool change_track(
int idx);
128 virtual void metadata_deleted(
const MetaDataList& v_md_deleted)=0;
130 virtual void metadata_changed_single(
const MetaData& metadata)=0;
131 virtual void duration_changed(uint64_t duration)=0;
135 void _sl_playlist_mode_changed();
The Mode class.
Definition: PlaylistMode.h:32
The Playlist class.
Definition: AbstractPlaylist.h:48
Definition: AbstractPlaylist.h:33
The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:29
Set namespace defines the setting: Which key and which type.
Definition: SettingKey.h:216
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: AbstractPlaylist.h:36
Definition: AbstractPlaylist.h:42
The PlaylistDBInterface class.
Definition: PlaylistDBInterface.h:35