aboutsummaryrefslogtreecommitdiff
path: root/Src/Winamp/WinampPlaylist.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Winamp/WinampPlaylist.h')
-rw-r--r--Src/Winamp/WinampPlaylist.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/Src/Winamp/WinampPlaylist.h b/Src/Winamp/WinampPlaylist.h
new file mode 100644
index 00000000..aedb6720
--- /dev/null
+++ b/Src/Winamp/WinampPlaylist.h
@@ -0,0 +1,43 @@
+#ifndef NULLSOFT_WINAMP_WINAMP_PLAYLIST_H
+#define NULLSOFT_WINAMP_WINAMP_PLAYLIST_H
+
+// this class is for the main playlist editor
+#include "../playlist/ifc_playlistloadercallback.h"
+#include "../playlist/ifc_playlistdirectorycallback.h"
+
+class WinampPlaylist : public ifc_playlistloadercallback
+{
+public:
+ WinampPlaylist( const wchar_t *_base = 0, bool _loadDirectories = false );
+ ~WinampPlaylist();
+
+ void OnFile( const wchar_t *filename, const wchar_t *title, int lengthInMS, ifc_plentryinfo *info );
+ const wchar_t *GetBasePath();
+
+protected:
+ RECVS_DISPATCH;
+
+ const wchar_t *base;
+ bool terminateOnEnd;
+ bool loadDirectories;
+};
+
+class WinampDirectoryLoad : public ifc_playlistdirectorycallback
+{
+public:
+ WinampDirectoryLoad( bool _forceRecurse, char *exts = 0 );
+ ~WinampDirectoryLoad();
+
+ bool ShouldRecurse( const wchar_t *path );
+ bool ShouldLoad( const wchar_t *filename );
+
+ bool forceRecurse;
+ char *exts;
+ bool needsFree;
+ int listStart;
+
+protected:
+ RECVS_DISPATCH;
+};
+
+#endif \ No newline at end of file