xref: /MusicPlayer2/MusicPlayer2/Playlist.h (revision ef4ab09d1891fa9ffa39fc88aae7ade75339c0e3)
192deac10Szhongyang #pragma once
292deac10Szhongyang #include "SongInfo.h"
392deac10Szhongyang class CPlaylist
492deac10Szhongyang {
592deac10Szhongyang public:
6*ef4ab09dSZhong Yang 	enum Type			//�����б��ʽ
7*ef4ab09dSZhong Yang 	{
8*ef4ab09dSZhong Yang 		PL_PLAYLIST,	//MusicPlayer2�����б�
9*ef4ab09dSZhong Yang 		PL_M3U,			//m3u�����б�
10*ef4ab09dSZhong Yang 		PL_M3U8			//m3u8�����б�
11*ef4ab09dSZhong Yang 	};
12*ef4ab09dSZhong Yang 
1392deac10Szhongyang     CPlaylist();
1492deac10Szhongyang     ~CPlaylist();
1592deac10Szhongyang     void LoadFromFile(const wstring& file_path);
16*ef4ab09dSZhong Yang     void SaveToFile(const wstring& file_path, Type type = PL_PLAYLIST) const;
175fca386fSzhongyang     vector<SongInfo> GetPlaylist() const;
1892deac10Szhongyang     void AddFiles(const vector<wstring>& files);
195fca386fSzhongyang     void AddFiles(const vector<SongInfo>& files);
2092deac10Szhongyang     void FromSongList(const vector<SongInfo>& song_list);
2176b3aa86SZhong Yang     void ToSongList(vector<SongInfo>& song_list);
22bb5d4504SZhong Yang     bool IsFileInPlaylist(const SongInfo& file);
23c83d5239SZhong Yang     void RemoveFile(const wstring& file);
2492deac10Szhongyang 
2592deac10Szhongyang private:
26480ef52eSZhong Yang     vector<SongInfo> m_playlist;
2792deac10Szhongyang };
2892deac10Szhongyang 
29