1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #include "main.h"
- #include "PlaylistDirectoryCallback.h"
- PlaylistDirectoryCallback::PlaylistDirectoryCallback(const char *_extlist, const char *winampIni)
- : extlist(_extlist), recurse(true)
- {
- if (winampIni)
- {
- int rofiob = GetPrivateProfileIntA("winamp", "rofiob", 1, winampIni);
- recurse = (rofiob & 2) ? false : true;
- }
- }
- bool PlaylistDirectoryCallback::ShouldRecurse(const wchar_t *path)
- {
- return recurse;
- }
- bool PlaylistDirectoryCallback::ShouldLoad(const wchar_t *filename)
- {
- const wchar_t *ext = PathFindExtensionW(filename);
- if (!*ext)
- return false;
- ext++;
- const char *a = extlist;
- while (a && *a)
- {
- if (!lstrcmpiW(AutoWide(a), ext))
- return true;
- a += lstrlenA(a) + 1;
- }
- return false;
- }
- #define CBCLASS PlaylistDirectoryCallback
- START_DISPATCH;
- CB( IFC_PLAYLISTDIRECTORYCALLBACK_SHOULDRECURSE, ShouldRecurse )
- CB( IFC_PLAYLISTDIRECTORYCALLBACK_SHOULDLOAD, ShouldLoad )
- END_DISPATCH;
|