mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-11-14 23:34:54 -05:00
42 lines
1.5 KiB
C
42 lines
1.5 KiB
C
|
#ifndef NULLSOFT_ML_PLAYLISTS_PLAYLIST_MANAGER_H
|
||
|
#define NULLSOFT_ML_PLAYLISTS_PLAYLIST_MANAGER_H
|
||
|
|
||
|
#include "api_playlistmanager.h"
|
||
|
|
||
|
class PlaylistManager : public api_playlistmanager
|
||
|
{
|
||
|
public:
|
||
|
int Load( const wchar_t *filename, ifc_playlistloadercallback *playlist );
|
||
|
int LoadAs( const wchar_t *filename, const wchar_t *ext, ifc_playlistloadercallback *playlist );
|
||
|
int LoadFromDialog( const wchar_t *fns, ifc_playlistloadercallback *playlist );
|
||
|
int LoadFromANSIDialog( const char *fns, ifc_playlistloadercallback *playlist );
|
||
|
|
||
|
int Save( const wchar_t *filename, ifc_playlist *playlist );
|
||
|
|
||
|
size_t Copy( const wchar_t *destFn, const wchar_t *srcFn ); // returns number of items copied
|
||
|
|
||
|
size_t CountItems( const wchar_t *filename );
|
||
|
|
||
|
int GetLengthMilliseconds( const wchar_t *filename );
|
||
|
uint64_t GetLongLengthMilliseconds( const wchar_t *filename );
|
||
|
|
||
|
void Randomize( ifc_playlist *playlist );
|
||
|
void Reverse( ifc_playlist *playlist );
|
||
|
|
||
|
void LoadDirectory( const wchar_t *directory, ifc_playlistloadercallback *callback, ifc_playlistdirectorycallback *dirCallback );
|
||
|
|
||
|
bool CanLoad( const wchar_t *filename );
|
||
|
|
||
|
void GetExtensionList( wchar_t *extensionList, size_t extensionListCch );
|
||
|
void GetFilterList( wchar_t *extensionList, size_t extensionListCch );
|
||
|
|
||
|
const wchar_t *EnumExtensions( size_t num );
|
||
|
|
||
|
protected:
|
||
|
RECVS_DISPATCH;
|
||
|
|
||
|
};
|
||
|
|
||
|
extern PlaylistManager playlistManager;
|
||
|
|
||
|
#endif
|