26 #include "Helper/Playlist/PlaylistMode.h" 27 #include "Helper/Settings/SayonaraClass.h" 28 #include "PlaylistDBInterface.h" 48 void sig_data_changed(
int idx);
52 enum class Type : quint8
59 bool _playlist_changed;
74 virtual void play()=0;
75 virtual void pause()=0;
76 virtual void stop()=0;
79 virtual void next()=0;
83 virtual void replace_track(
int idx,
const MetaData& md);
87 QStringList toStringList()
const;
89 IdxList find_tracks(
int id)
const;
90 IdxList find_tracks(
const QString& filepath)
const;
92 Type get_type()
const;
93 int get_cur_track_idx()
const;
94 bool get_cur_track(
MetaData& md)
const;
96 void set_idx(
int idx);
99 quint64 get_running_time()
const;
103 virtual bool is_empty()
const override;
104 virtual int get_count()
const override;
105 virtual const MetaDataList& get_playlist()
const override;
107 virtual void set_changed(
bool b)
override;
108 virtual bool was_changed()
const override;
109 virtual bool is_storable()
const override;
113 const MetaData& operator[](
int idx)
const{
117 const MetaData& at_const_ref(
int idx)
const {
126 virtual void clear();
128 virtual void move_track(
const int idx,
int tgt);
129 virtual void move_tracks(
const SP::Set<int>& indexes,
int tgt);
131 virtual void copy_track(
const int idx,
int tgt);
132 virtual void copy_tracks(
const SP::Set<int>& indexes,
int tgt);
134 virtual void delete_track(
const int idx);
135 virtual void delete_tracks(
const SP::Set<int>& indexes);
137 virtual void insert_track(
const MetaData& md,
int tgt);
138 virtual void insert_tracks(
const MetaDataList& lst,
int tgt);
140 virtual void append_track(
const MetaData& md);
143 virtual bool change_track(
int idx)=0;
146 virtual void metadata_changed_single(
const MetaData& md)=0;
150 void _sl_playlist_mode_changed();
157 typedef std::shared_ptr<Playlist> PlaylistPtr;
162 typedef std::shared_ptr<const Playlist> PlaylistConstPtr;
The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:31
Definition: PlaylistMode.h:32
Global handler for playlists.
Definition: PlaylistHandler.h:47
The Playlist class.
Definition: Playlist.h:38
The PlaylistDBInterface class.
Definition: PlaylistDBInterface.h:34