PlaylistManager.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef NULLSOFT_ML_PLAYLISTS_PLAYLIST_MANAGER_H
  2. #define NULLSOFT_ML_PLAYLISTS_PLAYLIST_MANAGER_H
  3. #include "api_playlistmanager.h"
  4. class PlaylistManager : public api_playlistmanager
  5. {
  6. public:
  7. int Load( const wchar_t *filename, ifc_playlistloadercallback *playlist );
  8. int LoadAs( const wchar_t *filename, const wchar_t *ext, ifc_playlistloadercallback *playlist );
  9. int LoadFromDialog( const wchar_t *fns, ifc_playlistloadercallback *playlist );
  10. int LoadFromANSIDialog( const char *fns, ifc_playlistloadercallback *playlist );
  11. int Save( const wchar_t *filename, ifc_playlist *playlist );
  12. size_t Copy( const wchar_t *destFn, const wchar_t *srcFn ); // returns number of items copied
  13. size_t CountItems( const wchar_t *filename );
  14. int GetLengthMilliseconds( const wchar_t *filename );
  15. uint64_t GetLongLengthMilliseconds( const wchar_t *filename );
  16. void Randomize( ifc_playlist *playlist );
  17. void Reverse( ifc_playlist *playlist );
  18. void LoadDirectory( const wchar_t *directory, ifc_playlistloadercallback *callback, ifc_playlistdirectorycallback *dirCallback );
  19. bool CanLoad( const wchar_t *filename );
  20. void GetExtensionList( wchar_t *extensionList, size_t extensionListCch );
  21. void GetFilterList( wchar_t *extensionList, size_t extensionListCch );
  22. const wchar_t *EnumExtensions( size_t num );
  23. protected:
  24. RECVS_DISPATCH;
  25. };
  26. extern PlaylistManager playlistManager;
  27. #endif