Initial community commit

This commit is contained in:
Jef
2024-09-24 14:54:57 +02:00
parent 537bcbc862
commit 20d28e80a5
16810 changed files with 4640254 additions and 2 deletions

View File

@@ -0,0 +1,49 @@
#pragma once
#include <vector>
#include "../playlist/ifc_playlistloadercallback.h"
#include "../nu/AutoLock.h"
class AndroidDevice;
class AndroidSong;
class AndroidPlaylist: public ifc_playlistloadercallback
{
public:
AndroidPlaylist(AndroidDevice& d, LPCTSTR pszPlaylist, BOOL master);
~AndroidPlaylist();
public:
/*** ifc_playlistloadercallback ***/
void OnFile(const wchar_t *filename, const wchar_t *title, int lengthInMS, ifc_plentryinfo *info);
public:
// utility
BOOL isMaster() { return master; }
wchar_t* getFilename() { return filename; }
size_t size();
AndroidSong *&at(size_t index);
void push_back(AndroidSong *callback);
void RemoveSong(AndroidSong *song);
void swap(size_t index1, size_t index2);
void eraseAt(size_t index);
AndroidSong *FindSong(const wchar_t *filename);
protected:
RECVS_DISPATCH;
private:
AndroidDevice &device;
typedef std::vector<AndroidSong*> SongList;
SongList songs;
public:
//Nullsoft::Utility::LockGuard songs_guard;
wchar_t playlistName[MAX_PATH];
wchar_t playlistPath[MAX_PATH];
wchar_t filename[MAX_PATH];
BOOL master;
BOOL dirty;
};